অল্পবিস্তর লোকদের উত্তরটি দুর্দান্ত, যদিও বুঝতে অসুবিধা বোধ না করে এবং অসুবিধার জন্য আবেদন করুন। আমি কিছু অনুশীলনমূলক সংখ্যা এবং "সাধারণ বিষয়বস্তু" বনাম "ই-বাণিজ্য" অ্যাপ্লিকেশন তুলনা দিতে চাই।
মোড_উজগির উপযুক্ত কনফিগারেশনের ক্ষেত্রে বিভিন্ন ব্যবহারের ক্ষেত্রে সেট করার আশেপাশে খুব বেশি উপাদান নেই, তাই আমি আশা করি এখানে একটু গদ্য ব্যবহার করা ঠিক আছে।
ক) সিএমএস সাইটস এবং মাইক্রোসাইটস
আমরা বেশ কয়েকটি গ্রাহক ওয়েবসাইট পরিচালনা করি, যার বেশিরভাগই মূলত কন্টেন্ট সাইট বা মাইক্রো সাইটগুলি হোস্টিং জ্যাঙ্গো সিএমএস, কিছু কাস্টম ফর্ম এবং কখনও কখনও নির্ধারিত ব্যাকগ্রাউন্ড কাজের জন্য সেলারি। এই সাইটগুলি সংস্থানগুলির জন্য ক্ষুধার্ত নয়, এর মধ্যে বেশিরভাগ 32 জিবি র্যাম সহ একক 4 কোর ইন্টেল সিওনের সমান্তরালে সুখে চলে। এই ধরণের সাইটগুলির জন্য আমরা এখানে কনফিগারেশন ব্যবহার করি:
WSGIDaemonProcess example.com user=www-data processes=2 maximum-requests=100
আমি একক সার্ভারে প্রায় 40 টি সাইট সম্পর্কে কথা বলছি, তাদের বেশিরভাগ স্টেজবাইয়ের সাথে তাদের স্টেজিং সাইটটি চলছে। 2 টি প্রক্রিয়া সহ (ডিফল্টরূপে 15 টি থ্রেড থাকা) সাইটগুলি ভালভাবে বন্ধ রয়েছে, যদিও তাদের সার্ভার সংস্থান বরাদ্দ করার ক্ষমতা সীমাবদ্ধ। এই সেটআপটি পর্যাপ্ত কেন (সিএমএস) আবেদনের সরল প্রকৃতির সাথে ন্যায়সঙ্গত হতে পারে: কোনও অনুরোধ কখনই পূরণ করতে কয়েক মিলি সেকেন্ডের বেশি নেবে বলে আশা করা যায় না। অ্যাপাচি সর্বদা স্বাচ্ছন্দ্য বজায় রাখবে, এবং সিপিইউ লোড হবে।
খ) ই-কমার্স সাইটগুলি
আমাদের করা আরও জটিল সাইটগুলি এখনও গণনামূলকভাবে সস্তার স্থানীয় অপারেশনগুলির দ্বারা চিহ্নিত করা হয় তবে বাহ্যিক নির্ভরতা (যেমন ওয়েব পরিষেবাগুলি বুকিং ডেটা সরবরাহ করে) যা লেনদেনের সময়ের ক্ষেত্রে ব্যয়বহুল। বাহ্যিক অনুরোধগুলির সাথে পরিচালিত ক্রিয়াকলাপগুলি দীর্ঘ সময় ধরে থ্রেড দখল করে রাখে, একই সংখ্যক ব্যবহারকারীর (উপরে থেকে একটি সাধারণ সিএমএস সাইটের তুলনায়) তুলনামূলক আপনার আরও থ্রেডের প্রয়োজন। আরও খারাপ, থ্রেডগুলি মাঝে মধ্যে অবরুদ্ধ থাকে যখন কোনও বাহ্যিক পরিষেবা তাত্ক্ষণিকভাবে কোনও অনুরোধের উত্তর দিতে না পারে, কখনও কখনও কয়েক সেকেন্ডের জন্য। এটি অপ্রীতিকর পার্শ্ব-প্রতিক্রিয়ার দিকে পরিচালিত করতে পারে যে থ্রেডগুলি একই পরিষেবা সারিটিতে অনুরোধ রাখে, যতক্ষণ না সমস্ত উপলভ্য Mod_wsgi থ্রেড ব্যবহার না করা এবং অপেক্ষায় অবরুদ্ধ থাকে।
এই পরিস্থিতিতে আমরা খুব 6
বেশি পার্থক্য না দেখে প্রক্রিয়াগুলি ব্যবহার করার চেষ্টা করেছি এবং আমরা 12
কার্য সম্পাদন এবং অপারেশনাল স্থিতিশীলতায় অতুলনীয় বুস্ট দেখে শেষ করেছি :
WSGIDaemonProcess example.com user=www-data processes=12 maximum-requests=100
150 এবং 250 সমান্তরাল ব্যবহারকারীদের সাথে কয়েকটি সাধারণ লোড টেস্টগুলি সহজেই সাইটটি ভাল প্রতিক্রিয়াশীল হয়ে পরিচালনা করা হয় (যখন 2
প্রক্রিয়াগুলির সাথে সাইটটি সমান্তরালভাবে 50 জন ব্যবহারকারীকে ক্যাটারিং করে)। 32 জিবি র্যাম সহ 2 সিপিইউ 6 কোর ইন্টেল সিওন সেই লোডের অধীনে 25% সিপিইউ ব্যবহারের নীচে ভাল চলে, র্যামের ব্যবহার প্রায় 25% এরও কম স্থির থাকে। মনে রাখবেন যে আমরা এখানে কেবলমাত্র একটি সাইটের জন্য একটি উত্সর্গীকৃত মেশিন ব্যবহার করি, সুতরাং আমরা অন্যান্য সাইটগুলির প্রয়োজনীয় সংস্থানগুলি চুরি করব না।
উপসংহার
উচ্চ সংখ্যক প্রক্রিয়া ব্যবহার করা অ্যাপাচি সিস্টেমের উপলব্ধ সিস্টেম সংস্থান ব্যবহার করার অনুমতি দেওয়ার মধ্যে একটি বাণিজ্য বন্ধ। যদি আপনি "আক্রমণ" শর্তের অধীনে একটি স্থিতিশীল সার্ভার সিস্টেম (ওয়েবসাইট নয়!) রাখতে চান তবে সংখ্যাটি কম রাখুন। আপনি যদি চান যে অ্যাপাচি আপনাকে সিস্টেম রিসোর্স (সিপিইউ, র্যাম) ব্যবহার করে সাহায্য করতে পারে যখন প্রয়োজন হয় একটি উচ্চতর নম্বর চয়ন করুন। আপনি কতটা উঁচুতে যেতে পারবেন তা উপরের স্বীকৃত উত্তরে কিছুটা রূপরেখার মতো গণনা করে এবং শেষ পর্যন্ত উপলব্ধ সিপিইউ শক্তি এবং র্যাম দ্বারা সীমাবদ্ধ থাকে।
(পিএস: আমি অ্যাপাচি-এর মতো ব্যাকগ্রাউন্ড রিডিংয়ের জন্য আমার বালিশের অধীনে Modwsgi প্রজেক্ট উইকির কনফিগারেশন ডিরেক্টরীস বিভাগটি রাখি Also এছাড়াও আপনার অ্যাপাচি সার্ভারের উন্মুক্ত সংযোগগুলি বুঝতে এবং নিরীক্ষণ করতে ভুলবেন না ))