আমরা 1000 ডলার সার্ভারে সুরযুক্ত (এবং নুমাদ) রোল আউট করতে যাচ্ছি, তাদের বেশিরভাগই নেট অ্যাপ্লিকেশন বা 3 পার স্টোরেজে ভিএমওয়্যার সার্ভার।
রেডহ্যাটস ডকুমেন্টেশন অনুসারে আমাদের virtual-guest
প্রোফাইলটি নির্বাচন করা উচিত । এটি কী করছে তা এখানে দেখা যাবে: tuned.conf
আমরা ভিওওয়্যার এবং নেট অ্যাপ / 3 পার উভয়ই আমাদের জন্য পর্যাপ্ত শিডিয়ুলিং করা উচিত বলে আমরা আইও সিডিউলারটি এনওওপিতে পরিবর্তন করছি।
তবে কিছুটা তদন্ত করার পরে আমি নিশ্চিত নই যে এগুলি কেন বাড়ছে vm.dirty_ratio
এবং kernel.sched_min_granularity_ns
।
যতদূর আমি বুঝতে পেরেছি vm.dirty_ratio
40% বৃদ্ধি বাড়ানোর অর্থ vm.dirty_writeback_centisecs
হ'ল 20 গিগাবাইট র্যামযুক্ত সার্ভারের জন্য, প্রথমে আঘাত না করা হলে 8 জিবি কোনও নির্দিষ্ট সময়ে নোংরা হতে পারে । এবং এই 8 গিগাবাইট ফ্লাশ করার সময় অ্যাপ্লিকেশনটির সমস্ত আইও নোংরা পৃষ্ঠাগুলি মুক্ত না করা অবরুদ্ধ করা হবে।
নোংরা_রেটিও বাড়ানো মানে সম্ভবত শিখরে উচ্চতর লেখার পারফরম্যান্স হ'ল আমাদের কাছে এখন আরও বড় ক্যাশে রয়েছে, তবে আবার যখন ক্যাশে পূরণ হয় তখন আইও বেশ দীর্ঘ সময়ের জন্য অবরুদ্ধ হয়ে যাবে (বেশ কয়েক সেকেন্ড)।
অন্যটি কেন তারা বাড়ছে sched_min_granularity_ns
। যদি আমি বুঝতে পারি যে এই মানটি সঠিকভাবে বৃদ্ধি করা হয় তবে প্রতি যুগের সময় স্লাইসের সংখ্যা হ্রাস পাবে ( sched_latency_ns
মানে) চলমান কাজগুলি তাদের কাজ শেষ করতে আরও সময় পাবে। আমি খুব কম থ্রেড সহ অ্যাপ্লিকেশনগুলির জন্য এটি খুব ভাল জিনিসটি বুঝতে পারি, তবে উদাহরণস্বরূপ। অ্যাপাচি বা প্রচুর থ্রেড সহ অন্যান্য প্রক্রিয়াগুলি কি এই প্রতি-উত্পাদনশীল হবে না?