روش های مختلفی به جهت بهینه سازی وب سرور آپاچی وجود دارد که در ذیل به چندین مورد آن اشاره می نماییم:
آپاچی نسخه 2.4 با توجه به نیاز شما سه mpm مختلف را انتخاب می نماید:
Perfork MPM
Worker MPM
Event MPM
استفاده از چندین پروسه ی فرزند بدون نخ. هر فرایند یک اتصال را در یک زمان بدون ایجاد موضوعات جداگانه برای هر یک از آن ها انجام می دهد. بدون در نظر گرفتن جزئیات بسیار، می توانیم بگوییم که از این MPM فقط در هنگام اشکالزدایی یک برنامه کاربردی استفاده میشوپ، یا اگر برنامه شما نیاز به استفاده از، ماژول های غیر ایمن مانند mod_php داشته باشد. زیرا این ماژول جز ابزار ها و کتابخانه های بدون نخ یا non-threaded هستند
مراجع درمورد این موضوع نظر یکسانی دارند نقل قول می کنم
Avoid using MPM Prefork whenever possible. It’s inability to scale well with increased traffic will quickly outpace the available hardware on most system configurations.
یک حالت preforkin چندگانه با قابلیت multithreaded, multiprocessing . مانند حالت قبل یک پردازش مستر درون یک serverpool فرزندان این پردازش را اجرا میکند ولی برخلاف نوع قبلی این فرزندان از جمله پردازش های multithreaded هستند. این یک انتخاب خوب برای سرورهای ترافیک بالا است زیرا اجازه می دهد که اتصالات همزمان همزمان با RAM کمتری نسبت به موارد قبلی داشته باشند.
MPM پیش فرض در بیشتر آپاچی برای نسخه 2.4 و بالاتر است.
این ماژول از یک نخ listener جدا برای هر child استفاده می کند که وظیفه هدایت درخواست به نخ های idle را برعهده میگیرد که مشکل لاک شدن نخ های حالت worker را حل می کند. این روش مطمین میشود که worker ها حداکثر درخواست ها را قبول کنند
اما با یک مزیت: آن باعث می شود که اتصالات غیر فعال (در حالی که در آن حالت باقی می ماند) با یک موضوع واحد انجام شود، بنابراین حافظه آزاد می شود به موضوعات دیگر اختصاص داده شود. این MPM برای استفاده با ماژول های غیر ایمن مانند mod_php مناسب نیست ، بلکه باید جایگزینی چنین PHP-FPM را استفاده کرد.
اینا جز اصلی ترین mpm ها بودند علاوه بر این سه مورد mpm های ذیگه هم هستن که بررسیشون نمیکنیم.
ادامه مطلب در لینک منبع