دسته بندی:

مصرف رم بالا توسط آپاچی در دایرکت ادمین

یکی از مشکلات بسیار رایج در سرور های هاستینگ مبتنی بر کنترل پنل دایرکت ادمین افزایش وحشتناک تعداد pid های وب سرور آپاچی (httpd) در هنگام افزایش بازدید لحظه ای از وب سایت های سرور (concurrent connections) و در نتیجه مصرف بالای رم در سرور است . در صورت بروز این حالت در سرور ، بعد از ورود به قسمت مانیتورینگ سرویس های لینوکس در دایرکت ادمین با صحنه ای مانند عکس زیر مواجه میشوید :



همانطور که مشاهده میکنید تعداد pid های فعال و زنده آپاچی با نام httpd در این عکس بسیار زیاد است و مصرف حافظه نیز از ۲ گیگابایت تجاوز کرده است . در حالت های بحرانی و شدید تر مصرف رم RAM و حافظه سرور در این لحظات گاهی به بیش از ۳۰ گیگابایت و تعداد pid های httpd بیش از ۱۰ برابر نیز میرسد . اصولا محدودیتی برای مصرف رم و حافظه سرور برای آپاچی (در صورت کانفیگ غلط آپاچی) وجود ندارد و این روند تا زمانی که کاملا منابع حافظه سرور اشغال شوند ادامه خواهد داشت . در بسیاری از موارد مدیر سرور یا مسئول کانفیگ سرور شرایط را با حالت های ATTACK و حملات Dos و DDos اشتباه میگیرد . هر چند زیر حملات سبک نیز کانفیگ پیش فرض آپاچی در دایرکت ادمین همین حالت را ایجاد میکند .
راه حل مصرف رم بالا و حافظه سرور توسط آپاچی در دایرکت ادمین به هنگام اتصال کانکشن های بالا به وب سرور httpd

قبل از ارائه راه حل های ممکن ابتدا به اصلی ترین دلیل بروز این مشکل و مصرف سنگین رم سرور توسط httpd اشاره ای میکنیم . در مباحث گذشته به صورت خلاصه و گذری راجع به MPM یا Multi-Processing Modules در وب سرور آپاچی اشاره کرده ایم . قصد نداریم در این بحث به جزئیات مربوط به انواع Apache MPMs و فرق های آن بپردازیم . وب سرور آپاچی در حالت پیش فرض از مدل MPM Perfork استفاده میکند . MPM Perfork سازگار ترین و پایدار ترین مدل پردازشی وب سرور آپاچی است و در عین حال بیشترین مصرف منابع سرور و به خصوص RAM و حافظه سرور نیز از آن این Apache MPM می باشد . مدل Perfork به دلیل نوع استفاده از Thread و Child Process ها مقادیر زیادی از حافظه رم سرور را اشغال میکند . در وحله اول میتوانید مقادیر مربوط به MPM را بر اساس نیاز تغییر داده و وب سرور را تیون و بر اساس نیازتان Optimise کنید . این کار نیازمند داشتن علم و اشراف کامل بر روی نحوه عملکرد و کانفیگ وب سرور است و به افراد مبتدی و تازه کار توصیه نمیگردد . روش دوم استفاده از Nginx به عنوان Reverse P roxy سر راه وب سرور آپاچی است که بی تاثیر نیست ولی شاید به نوعی پاک کردن صورت مسئله باشد … به هر حال به کمک Nginx Reverse P roxy بخشی از بار روی دوش وب سرور کم میشود .
و اما بهرین روش ممکن برای حل این مشکل تغییر نوع MPM مورد استفاده توسط آپاچی است . وب سرور آپاچی از مدل MPM Worker نیز پشتیبانی میکند که سرعتی به مراتب بالا تر و مصرف منابعی بسیار کمتر از مدل MPM Perfork دارد . در کنترل پنل WHM/cPanel به کمک ابزاری کاربرپسند با واسط گرافیکی عالی به نام Easyapache به سادگی امکان تغییر نوع MPM در Apache با فعال کردن یک گزینه و کامپایل مجدد وب سرور و PHP موجود است . وب سرور دایرکت ادمین هنوز در زمینه کاربر پسند بودن و ساده کردن هاستینگ برای تازه کاران فاصله زیادی با سی پنل دارد و هنوز بسیاری از کار ها باید از طریق Command Line و کنسول صورت پذیرد .بنا بر این بر اساس آموزش های سایت می بایست مدل پردازشی وب سرور آپاچی را از حالت MPM Perfork به MPM Worker تغییر دهید و به کمکCustombuild در دایرکت ادمین وب سرور را مجددا کامپایل کرد . دوستانی که از وب سرور آپاچی ورژن های ۲.۴ و بالا تر استفاده میکنند در صورتی که نیاز به افزایش سرعت پاسخگویی وب سرور به درخواست ها دارند میتوانند از مدل MPM Event استفاده کنند . کانفیگ Apache به صورت حرفه ای آسان نیست ولی در صورت انجام درست و بدون نقص خواهید دید وب سرور آپاچی یکی از قدرتمند ترین و انعطاف پذیر ترین وب سرور های High Performance در دنیای وب محسوب میشود . اگر نیاز به کانفیگ حرفه ای وب سرور آپاچی دارید ، میتوانید از طریق منوی تماس با ما درخواست خود را ارسال کنید . ما در کمترین زمان ممکن سرور های شما را به بهترین شکل کانفیگ و پیکربندی میکنیم .