درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من

جهت دریافت مدرک با مراجعه به به این بخش و ورود به دوره مورد نظر، بر روی گزینه دریافت مدرک کلیک کرده، اطلاعات خود را تکمیل کنید تا پروسه صدور مدرک برای شما طی شود.

صدور مدرک تنها برای دوره هایی که به صورت کامل خریداری شده و قیمت آن ها بالای 100،000 تومان باشد انجام خواهد شد.

جشنواره تخفیف شگفت انگیز زمستانه توسینسو

تا سقف 70 درصد تخفیف + ترافیک نیم بها برای پنج خرید اول هر محصول + پشتیبانی محصولات توسط اساتید + ارائه گواهینامه پایان دوره

تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
محمد نصیری
امتیاز: 597916
رتبه:1
371
1748
817
11043
محمد نصیری ، بنیانگذار TOSINSO ، کارشناس امنیت اطلاعات و ارتباطات و کشف جرائم رایانه ای ، هکر کلاه سفید ، تخصص در حوزه امنیت سیستم عامل و تست های نفوذسنجی ، لینوکس ، مجازی سازی ، سرویس های کاربردی سرور و ... سابقه همکاری در بیش از 40 سازمان دولتی ، خصوصی و نظامی در حوزه پروژه ، مشاوره و آموزش ، بیش از 10 هزار ساعت سابقه آموزشی در طی 12 سال فعالیت حرفه ای ... پروفایل کاربر

معرفی مهمترین فاکتورهای پیکربندی ماژول mpm_prefork در وب سرور آپاچی

تاریخ 2 ماه قبل
نظرات 0
بازدیدها 67
سلام به همه علاقه مندان به لینوکس و دوست داران جزیره لینوکس وب سایت توسینسو ، قبلا در خصوص ماژول های MPM در آپاچی بصورت مفصل توضیح داده ایم و انواع این ماژول ها و کاربرهای هر کدام را معرفی کرده ایم . گفتیم که ماژول پیشفرضی که برای مدیریت کردن چند پردازشی در آپاچی فعال می شود mpm__prefork است و امروز می خواهیم در خصوص فاکتورهای مهمی که در این ماژول وجود دارد صحبت کنیم. بصورت خلاصه گفتیم که MPM مخفف Multi-Processing Module است و برای ایجاد کردن امکان پردازش همزمان درخواست های کاربران در وب سرور آپاچی استفاده می شود . شاید درک کردن کارکرد و نحوه پیکربندی آن برای مدیر سیستمی که تعداد کاربران زیادی ندارد چندان اهمیت نداشته باشد اما وقتی صحبت از پردازش های سنگین و سرویس های هاستینگ می شود دیگر نمی توانیم نسبت به این مورد بی تفاوت باشیم و باید بتوانیم Load کاری را به درستی در وب سرور مدیریت کنیم و اینجاست که ماژول های MPM کاربردی می شوند و این امکان را به شما می دهند که درخواست ها به جای اینکه در صف انتظار باقی بمانند سریعتر پاسخ داده شوند . این قسمت از پیکربندی وب سرور بیشتر در قسمت بهینه سازی یا Optimize کردن کارایی وب سرور قرار می گیرد و شما باید به عنوان مدیر شبکه لینوکسی تا حدی با آن آشنا باشید ، توجه کنید که تنظیمات این ماژول کمی در آپاچی نسخه 2.4 و نسخه 2.2 متفاوت است و به همین دلیل ما تقریبا هر دو مورد را برای شما در این مقاله بررسی می کنیم :

پارامترهای تنظیمات ماژول mpm_prefork در آپاچی 2.4

--
StartServers 3
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 400
MaxConnectionsPerChild 0

پارامترهای تنظیمات ماژول mpm_prefork در آپاچی 2.2


StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0

خوب حالا قسمت به قسمت پارامترهایی که در دو نسخه از mpm__prefork مشاهده می کنید رو با هم مرور می کنیم. دقت کنید که این قسمت از کار و انجام تغییرات در این لایه نیازمند این هست که شما حتما روی وب سرور از قبل تحقیقاتتون رو انجام بدید و آمار درستی از نحوه عملکرد وب سرور و میزان منابع مصرفی اون داشته باشید :
  1. پارامتر StartServers : مسئله را پیچیده نکنید در اینجا منظور از Servers تعداد سرورها نیست ! زمانیکه وب سرور آپاچی بعد از بوت شدن سیستم و انجام فرآیند Startup فعال می شود چند Process پیشفرض ( Child Server Process ) برای سرویس دهی به کاربران ایجاد می کند که این پارامتر تعداد پیشفرض این Process ها را نشان می دهد. در عین حال اگر بار کاری سرور بالا باشد بصورت خودکار وب سرور تعداد این Child Process ها را بالا می برد و هیچ نیازی به دستکاری کردن مقدار پیشفرض این پارامتر وجود ندارد.
  2. پارامتر MinSpareServers : وقتی صحبت از Spare می شود یعنی در خصوص یک چیز پشتیبان و بکاپ صحبت می کنیم و وقتی راجع به Server با مفهوم پاراگراف قبلی صحبت می کنیم کل این پارامتر به این معنی است که یعنی تعداد حداقل ( Minimum ) تعداد Process های Child ای که در سرور ایجاد می شود و اما در حالت Idle یا بیکار قرار دارند به این معنی که منتظر می مانند و کاری انجام نمی دهند تا اینکه درخواست Connection ای به سرور وارد شود . اگر تعداد Process های Idle از حداقل ای که ما اینجا تعریف کرده ایم کمتر شود ، وب سرور آپاچی بصورت خودکار یک Child Process ایجاد می کند تا پارامتر MinSpareServers به درستی تعریف شده باشد.
  3. پارامتر MaxSpareServers : خوب این دیگه مشخص هست !! حداکثر تعداد Child Process هایی که می تونن در حالت Idle یا بیکار در سیستم باقی بمونن رو تعیین می کنه ، اگر تعداد Idle Process ها بیشتر از تعداد یا مقدار MaxSpareServers بشه بصورت خودکار آپاچی از طریق Parent Process یا پردازش والد ، تعداد Child Process های اضافی رو Kill می کنه ..
  4. پارامترهای MaxClients و MaxRequestWorkers : مهمترین فاکتور در پارامترهای ماژول prefork همین قسمت ها هستند که حداکثر تعداد درخواست هایی که سرور آپاچی می تواند تحمل کند را تعیین می کنند . اگر درخواست ها از این تعداد تعیین شده فراتر بروند ، درخواست های بیشتر به جای پاسخگویی در لحظه به صف پاسخگویی یا همان Queue منتقل خواهند شد.

مواردیکه ما در بالا عنوان کردیم در تنظیمات فایل ماژول prefork وجود دارد و قابل پیکربندی هستند . اما قبلا هم عنوان کرده ایم که ترجیحا اگر پردازش های سرور شما کم هستند و کاربران کمی هم دارید این قسمت را دستکاری نکنید ، دستکاری کردن این قسمت از آپاچی نیازمند حداقل مقداری تحقیق و البته محاسبه است و افرادی که در آپاچی و برآوردهای محاسباتی آن در پاسخگویی به کاربران تجربه خوبی دارند این قسمت را دستکاری می کنند ، شما ترجیحا باید به میزان RAM و CPU ای که در سرور دارید و مانیتور کردن میزان استفاده از آن توسط آپاچی پارامترهای بالا را تغییر بدهید . بعدا یک مقاله در خصوص Apache Performance Optimization در وب سایت منتشر می کنم که در این خصوص توضیحاتی رو با فرمول محاسبه عنوان کنیم .

نویسنده : محمد نصیری
منبع : جزیره لینوکس و متن باز وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
برچسب ها
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید