অটো সংযোগের জন্য সহজভাবে ড্রাইভারটি অপ্রত্যাশিত সংযোগ বিচ্ছিন্ন হওয়ার পরে স্বয়ংক্রিয়ভাবে সার্ভারের সাথে পুনরায় সংযোগ করার চেষ্টা করবে। উত্পাদন পরিবেশে আপনি সাধারণত এই সেটটি সত্য হতে চান।
connectionsPerHost শারীরিক সংযোগের পরিমাণ একটি একক মোঙ্গো উদাহরণস্বরূপ (এটা এর Singleton যাতে আপনি সাধারণত অ্যাপ্লিকেশন প্রতি এক আছে) একটি mongod / mongos প্রক্রিয়া স্থাপন করতে পারেন আছে। লেখার সময় জাভা ড্রাইভার এই সংযোগের পরিমাণটি শেষ পর্যন্ত প্রতিষ্ঠিত করবে এমনকি প্রকৃত ক্যোয়ারী থ্রুটপুট কম থাকলেও (ক্রমে কথায় আপনি মঙ্গোস্ট্যাট বৃদ্ধিতে "সংযোগ" পরিসংখ্যান দেখতে পাবেন যতক্ষণ না এটি অ্যাপ্লিকেশন সার্ভারে এই সংখ্যাটি হিট করে)।
বেশিরভাগ ক্ষেত্রে এটি 100 এর চেয়ে বেশি সেট করার দরকার নেই তবে এই সেটিংটি "পরীক্ষা করে দেখুন" জিনিসগুলির মধ্যে একটি। মনে রাখবেন যে আপনাকে আপনার সার্ভারের সংযোগের পরিমাণের পরিমাণ অতিক্রম করতে না পারার বিষয়টি নিশ্চিত করতে হবে enough
db.serverStatus().connections.available
উত্পাদনে আমাদের বর্তমানে এটি 40 এ রয়েছে।
কানেক্টটাইমআউট । নাম অনুসারে সংযোগের চেষ্টাটি বাতিল হওয়ার আগে ড্রাইভারটি অপেক্ষা করতে থাকবে মিলিসেকেন্ডের সংখ্যা। বাস্তবের প্রত্যাশিত সুযোগ না থাকলে দীর্ঘ কিছু (15-30 সেকেন্ড) এর টাইমআউট সেট করুন অন্যথায় সফল সংযোগের প্রচেষ্টা হিসাবে এটিই হবে। সাধারণত যদি কোনও সংযোগের প্রচেষ্টা কয়েক সেকেন্ডের চেয়ে বেশি সময় নেয় তবে আপনার নেটওয়ার্ক অবকাঠামো উচ্চতর আউটপুট দিতে সক্ষম নয়।
maxWaitTime । সংখ্যার এমএসের সংখ্যা একটি থ্রেড সংযোগ পুলে সংযোগ উপলব্ধ হওয়ার জন্য অপেক্ষা করবে এবং যদি সময় মতো এটি না ঘটে তবে একটি ব্যতিক্রম উত্থাপন করে। ডিফল্ট রাখুন।
সকেটটাইমআউট । স্ট্যান্ডার্ড সকেট টাইমআউট মান। 60 সেকেন্ড (60000) এ সেট করুন।
থ্রেডসঅ্যালয়েডডো ব্লকফোর্স কানেকশন মাল্টিপ্লায়ার । সংযোগগুলির জন্য গুণক পর্ব হস্ট যা পুলটি বর্তমানে অবসন্ন হলে সংযোগগুলি উপলভ্য হওয়ার জন্য অপেক্ষা করার মঞ্জুরিপ্রাপ্ত থ্রেডের সংখ্যা বোঝায়। এই সেটিংটিই "com.mongodb.DBPortPool ma SemaphoresOut: db সংযোগ পেতে semaphores আউট" ব্যতিক্রম ঘটায়। এই থ্রেড সারিটি থ্রেডলয়েডডব্লকফোর্ডকনেকশন মাল্টিপ্লায়ার মান ছাড়িয়ে গেলে এই ব্যতিক্রমটি ছুঁড়ে ফেলা হবে। উদাহরণস্বরূপ, যদি সংযোগগুলি পার্হোস্টটি 10 হয় এবং এই মানটি 5 পর্যন্ত 50 থ্রেডগুলি উল্লিখিত ব্যতিক্রম ছোঁড়ার আগেই ব্লক করতে পারে।
আপনি যদি থ্রুপুটতে বড় শিখর আশা করেন যা বৃহত্তর সারিগুলি সাময়িকভাবে এই মানটিকে বাড়িয়ে তুলতে পারে। ঠিক সেই কারণে আমাদের মুহূর্তে এটি 1500 এ রয়েছে। যদি আপনার ক্যোয়ারী লোডটি ধারাবাহিকভাবে সার্ভারকে আউটপস করে তবে আপনার ঠিক সেই অনুযায়ী আপনার হার্ডওয়্যার / স্কেলিংয়ের পরিস্থিতির উন্নতি করা উচিত।
পঠনপরিচয় । (আপডেট, ২.৮+) ডিফল্ট পড়ার পছন্দটি নির্ধারণ করতে ব্যবহৃত হয় এবং "স্লেভওক" প্রতিস্থাপন করে। ক্লাস কারখানার একটি পদ্ধতির মাধ্যমে একটি রিডপ্রিফারেন্স সেট আপ করুন Set সর্বাধিক সাধারণ সেটিংসের একটি সম্পূর্ণ বিবরণ এই পোস্টের শেষে পাওয়া যাবে
W । (আপডেট, ২.6+) এই মানটি লেখার "সুরক্ষা" নির্ধারণ করে। যখন এই মান -1 হয় তখন নেটওয়ার্ক বা ডাটাবেস ত্রুটি নির্বিশেষে লেখার কোনও ত্রুটি জানানো হবে না। WritConcern.NONE এর জন্য উপযুক্ত পূর্বনির্ধারিত WritConcern। ডাব্লু যদি 0 হয় তবে নেটওয়ার্ক ত্রুটিগুলি লিখনকে ব্যর্থ করবে তবে মঙ্গো ত্রুটিগুলি করবে না will এটিকে সাধারণত "ফায়ার এন্ড ভুলে" লেখার হিসাবে উল্লেখ করা হয় এবং যখন ধারাবাহিকতা এবং স্থায়িত্বের চেয়ে কর্মক্ষমতা বেশি গুরুত্বপূর্ণ তখন ব্যবহার করা উচিত। এই মোডের জন্য WritConcern.NORMAL ব্যবহার করুন।
আপনি যদি ডাব্লু 1 বা উচ্চতর সেট করেন তবে লেখাটি নিরাপদ হিসাবে বিবেচিত হবে। নিরাপদ লেখাগুলি লেখার সম্পাদন করে সার্ভারের কাছে অনুরোধ করে অনুসরণ করে লিখনটি সফল হয়েছে কিনা তা নিশ্চিত করার জন্য বা ত্রুটির মানটি পুনরুদ্ধার করে তা নিশ্চিত না করে (অন্য কথায়, এটি আপনার লেখার পরে getLastError () কমান্ড প্রেরণ করে)। মনে রাখবেন যে এই getLastError () কমান্ডটি শেষ না হওয়া পর্যন্ত সংযোগটি সংরক্ষিত রয়েছে। এর ফলে এবং অতিরিক্ত কমান্ডের ফলস্বরূপ থ্রুটপুটটি ডাব্লু <= 0 দিয়ে লেখার চেয়ে লক্ষণীয়ভাবে কম হয়ে যাবে ঠিক 1 মুনগোডিবি'র গ্যারান্টি দিয়ে আপনি যে বার্তায় এই চিঠিটি প্রেরণ করেছেন তাতে লেখাটি সফল (বা যাচাই করে ব্যর্থ হয়েছে) গ্যারান্টি দেয়।
প্রতিলিপি সেটগুলির ক্ষেত্রে আপনি উচ্চতর মান ব্যবহার করতে পারেন ডব্লিউ WHCh মংগাডিবিকে কমপক্ষে "ডাব্লু" রেপ্লিকা সেটটির সদস্যদের পাঠানোর আগে (বা আরও সঠিকভাবে, আপনার লেখার অনুলিপি "" ডাব্লু "সদস্যদের জন্য অপেক্ষা করতে বলুন )। আপনি "সংখ্যাগরিষ্ঠ" স্ট্রিংয়ে ডাব্লু সেট করতে পারেন যা মঙ্গোডিবিকে সংখ্যাটি প্রতিলিপি সেট সদস্যদের (WritConcern.MAJORITY) র সম্পাদনা করতে বলে perform আপনার কাঁচা পারফরম্যান্স (-1 বা 0) বা প্রতিলিপিযুক্ত লেখাগুলি (> 1) না লাগলে আপনার সাধারণত 1 এ সেট করা উচিত। 1 এর চেয়ে বেশি মানগুলি লেখার মাধ্যমে আউটপুটগুলিতে যথেষ্ট প্রভাব ফেলে।
fsync । স্থায়িত্ব বিকল্প যা সক্ষম করার সময় প্রতিটি লেখার পরে মঙ্গোকে ডিস্কে ফ্লাশ করতে বাধ্য করে। আমার কোনও লেখার ব্যাকলগ সম্পর্কিত কোনও স্থায়িত্বের সমস্যা ছিল না তাই এটি আমাদের প্রোডাক্টটিতে মিথ্যা (ডিফল্ট) নিয়ে থাকে।
j * (NEW 2.7+) *। বুলিয়ান যে সত্য সেট করা হলে মোঙ্গোডিবিকে ফিরে আসার আগে একটি সফল জার্নালিং গ্রুপের প্রতিশ্রুতিবদ্ধ হওয়ার জন্য অপেক্ষা করতে বাধ্য করে। আপনি যদি জার্নালিং সক্ষম করে থাকেন তবে আপনি এটি অতিরিক্ত স্থায়িত্বের জন্য সক্ষম করতে পারেন। কী জার্নালিং আপনাকে পায় তা দেখার জন্য http://www.mongodb.org/display/DOCS/ জার্নালিং দেখুন (এবং এই কারণে আপনি এই পতাকাটি সক্ষম করতে চাইতে পারেন)।
দ্রষ্টব্য: উপরের সমস্তগুলিতে একই পদ্ধতির ট্যাগ সক্ষম সংস্করণ রয়েছে যা পরিবর্তে TaggableReadPreferences উদাহরণগুলি প্রদান করে। প্রতিলিপি সেট ট্যাগগুলির একটি সম্পূর্ণ বিবরণ এখানে পাওয়া যাবে: প্রতিলিপি সেট ট্যাগস