অ্যাপাচি এর স্মৃতি ব্যবহারের জন্য টুইটগুলি করার প্রধান প্যারামিটারটি হবে MaxClients
। খুব কম মান এবং আপনি ক্লায়েন্টের অনুরোধগুলি সরবরাহ করতে উপলভ্য স্লটগুলি শেষ করে দেবেন। অনেক বেশি এবং আপনি আপনার সমস্ত র্যাম ব্যবহার করবেন এবং অদলবদল স্থানটি ব্যবহার শুরু করবেন যা কার্য সম্পাদন করবে (এটি একটি সার্ভার ক্র্যাশ বলে মনে হতে পারে)।
টিউন MaxClients
করার একটি উপায় হ'ল সিস্টেমের মেমোরির ব্যবহারটি পর্যবেক্ষণ করা এবং প্রয়োজনীয়তা অনুসারে সেটআপ আপ / ডাউনটি সামঞ্জস্য করা। যদি সার্ভারটি পরিবর্তন করতে শুরু করে তবে এটিকে সম্পাদনা করুন। সার্ভারে যদি ফ্রি মেমরি থাকে তবে এটি আপ করুন।
আপনি অ্যাপাচি এর মেমরি ব্যবহার দেখে সর্বাধিক মান অনুমান করতে পারেন। প্রক্রিয়াগুলি মেমরি অনুসারে বাছাই করতে শুরু করুন top
এবং টিপুন M
। আপনার কিছু দেখতে হবে:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18698 apache 17 0 141m 59m 41m S 0.0 1.6 4:57.46 httpd
18591 apache 17 0 141m 59m 41m S 0.0 1.5 4:54.79 httpd
22917 apache 16 0 141m 57m 39m S 0.0 1.5 4:57.44 httpd
18595 apache 16 0 142m 57m 38m S 0.0 1.5 5:23.43 httpd
18697 apache 16 0 139m 56m 41m S 0.0 1.5 5:09.29 httpd
18735 apache 25 0 141m 56m 38m S 0.0 1.5 5:05.32 httpd
প্রতি অ্যাপাচে ইনস্ট্যান্সের আনুমানিক মেমরির ব্যবহার পেতে আরইএস এবং এসএইচআর কলামগুলি বিয়োগ করুন। এই ক্ষেত্রে এটি প্রায় 16MB B যদি আমার 4 গিগাবাইট র্যাম থাকে এবং এটি 3 গিগাবাইট অ্যাপাচি ব্যবহার করার জন্য চান তবে আমার ম্যাক্সক্লিয়েন্টস সেটিংটি প্রায় হবে:
MaxClients = 3000/16 = 188
সুতরাং, এই ক্ষেত্রে, আমি 150-200 এর মান দিয়ে শুরু করতে পারি তবে আমি মেমরির ব্যবহারটি দেখব এবং যদি এটি কখনও সোয়াপ ব্যবহারের কাছাকাছি আসতে শুরু করে তবে আমি ম্যাক্সক্লিয়েন্টসকে 10-20% হ্রাস করতে পারি। আরও মনে রাখবেন যে 3 গিগাবাইটের মানটি একটি এলোমেলো উদাহরণ। সার্ভারগুলিতে কেবল অ্যাপাচি চলমান রয়েছে আমি প্রায় 4 জিবি প্রায় সমস্তই ব্যবহার করতে সক্ষম হতে পারি। অন্যান্য ক্ষেত্রে আমি অন্যান্য অ্যাপ্লিকেশন, সিস্টেম বা ক্যাশে থাকা বাকী কেবল অ্যাপাচি-র জন্য কেবল 1 বা 2GB চাই want
সম্পাদনা করুন: অতিরিক্ত প্রশ্নের উত্তর দেওয়া
ম্যাক্সক্লিয়েন্টস বা অন্যান্য অ্যাপাচি কনফিগারেশন প্যারামিটারগুলির সাধারণত কোনও ম্যাজিক মান নেই যা আপনার সার্ভারকে হঠাৎ দ্বিগুণ দ্রুত করে তুলবে। কিছু সার্ভার ম্যাক্সক্লিয়েন্টস 10 বা 1000 কিনা তা ঠিকঠাক চলতে দেখাবে There দুটি প্রধান ক্ষেত্রে ম্যাক্সক্লিয়েন্টস সেটিংটি "খারাপ" রয়েছে:
- খুব কম : যখন ম্যাক্সক্লিয়েন্টস খুব কম হয় আপনি এমন পরিস্থিতিতে পৌঁছে যাবেন যেখানে সমস্ত অ্যাপাচি ক্লায়েন্ট ব্যবহার করা হচ্ছে এবং নতুন সংযোগগুলি পরবর্তী ক্লায়েন্ট উপলব্ধ হওয়ার জন্য অপেক্ষা করে একটি কাতারে যাবে। আপনি যদি অ্যাপাচি'র মোড_স্ট্যাটাস সক্ষম করে থাকেন তবে যে কোনও এক সময় কত ক্লায়েন্ট ব্যস্ত রয়েছেন তার রিয়েল টাইম ভিউ পেতে পারেন। এই রাজ্যটি নির্ণয় করা তুলনামূলকভাবে সহজ কারণ হাই ট্র্যাফিকের সময় সাইটটি ধীরে ধীরে হয়ে উঠবে এবং সমস্ত ক্লায়েন্ট ব্যবহারের জন্য লক্ষ্য করা যায়।
- খুব বেশি : ম্যাক্সক্লিয়েন্টস যখন খুব বেশি হয় আপনি সমস্ত র্যাম ক্লান্ত করার ক্ষেত্রে এড়াতে পারবেন এবং অদলবদলটি ব্যবহার শুরু করবেন। এটি যখন ঘটে তখন আপনার সাইটের কার্য সম্পাদন মূলত শূন্যে নেমে আসবে (র্যাম এবং ডিস্কের মধ্যে গতির পার্থক্য বিবেচনা করুন)। এই রাজ্যটি পর্যবেক্ষণ এবং নির্ণয় করা আরও অনেক কঠিন হতে পারে যেহেতু কোনও সার্ভার উচ্চ ম্যাক্সক্লিয়েন্টের সাথে ট্রাফিকের স্পাইক না পাওয়া পর্যন্ত ঠিক ঠিক চলবে। উদাহরণস্বরূপ, এমন একটি সাইটে যা ঘণ্টায় কয়েকটা হিট পায় আমি ম্যাক্সক্লিয়েন্টসকে 1000 এ সেট করতে পারি, এটি র্যামের পক্ষে সমর্থনের চেয়ে অনেক বেশি, তবে অ্যাপাচি-র কারণে কোনও সমস্যা কেবল একবারে এক বা দুটি ক্লায়েন্ট ব্যবহার করা দরকার হয়নি। ট্র্যাফিকের স্পাইক পেয়ে আমি কেবল তখনই সমস্যাটি চিহ্নিত করব, র্যাম ক্লান্ত না হওয়া এবং অদলবদলের প্রয়োজন না হওয়া অবধি একযোগে ব্যবহৃত ক্লায়েন্টের সংখ্যা বৃদ্ধি করব।
যদিও আমি আপনার সার্ভার, অ্যাপ্লিকেশন, বা ট্র্যাফিকের বিশদ জানি না তবে আমি নিম্নলিখিত বিন্দু হিসাবে নিম্নলিখিত কনফিগারেশন মানগুলি প্রস্তাব করতে পারি। এগুলি ব্যবহার করে দেখুন, সার্ভারের বোঝা এবং ব্যবহার নিরীক্ষণ করুন এবং প্রয়োজনীয় সেটিংস পরিবর্তন করুন।
- মোড_স্ট্যাটাস : এটি সক্ষম করুন যাতে আপনি অ্যাপাচের ব্যবহার দেখতে পান। আরও উন্নত পরিসংখ্যানগুলির জন্য জবিবিক্স / নাগিওসের মতো একটি মনিটরিং অ্যাপ্লিকেশন ইনস্টল করুন যাতে আপনি সার্ভারের ব্যবহার এবং ট্র্যাফিকের নিদর্শনগুলি ট্র্যাক করতে পারেন।
- ম্যাক্সক্লিয়েন্টস : 100-200 এর মান নির্ধারণ করুন। আমি নিশ্চিত না হলে কম মান দিয়ে শুরু করব এবং মেমরি / সিপিইউ / অ্যাপাচি ব্যবহার নিরীক্ষণ করব। এটি টুইট করার প্রধান প্যারামিটার হবে।
- ম্যাকআরকুইয়েস্টস পার্চিল্ড : এটি অ্যাপাচি ক্লায়েন্ট / শিশু পুনরায় আরম্ভ হবে তা সুনির্দিষ্ট করে। কোনও ভুল মান নেই (যদিও খুব ছোট মানগুলি অকার্যকর হতে পারে) এবং এটি আপনার পরিবেশনায় কোন বিষয়বস্তুর উপর নির্ভর করবে। গতিশীল কন্টেন্টের জন্য একটি বড় অ-শূন্য মান (1000 বলুন) আপনার httpd প্রক্রিয়াগুলি অবশেষে খুব বড় হওয়া থেকে থামিয়ে দেবে।
- অন্যান্য প্যারামিটার : আমি বাকি পরামিতিগুলির বিশদ বেঞ্চমার্কিং করি নি তবে আপনি যদি খুব কম বা খুব উচ্চ মানগুলিতে সেট না করেন তবে তাদের তুলনামূলকভাবে সামান্য প্রভাব থাকতে হবে। বেশিরভাগ সাইটের ক্ষেত্রে ডিফল্ট ব্যবহার করা ভাল should প্যারামিটারগুলির সম্পূর্ণ বিবরণের জন্য অ্যাপাচি প্রেফের্ক বা ওয়ার্কার মডিউল ডকুমেন্টেশন দেখুন এবং যা প্রতিটি মডিউলে ব্যবহৃত হয় (আপনি যে প্যারামিটারটি ব্যবহার করেন না তার সাথে টিউন করার চেষ্টা করার কোনও মানে নেই)।
- বেঞ্চমার্কিং : আপনি প্যারামিটারগুলি সামঞ্জস্য করার সাথে সাথে আমি আপনার সার্ভারের সামর্থ্যগুলিতে একটি পরিমাণগত নম্বর পেতে অ্যাব (অ্যাপাচিবেঞ্চ) বা অবরোধের মতো একটি বেঞ্চমার্কিং সরঞ্জাম ব্যবহার করার পরামর্শ দেব। অনুভূতি বা আরও খারাপের উপর নির্ভর করা, এটি ক্র্যাশ হয়ে গেছে কিনা তা দেখার জন্য, ওয়েব সার্ভারের পরামিতিগুলির সাথে টিউন করা ভাল পদ্ধতি নয়।