5 روش طلایی برای افزایش سرعت و بهینه سازی Apache

برای اینکه وب سرور Apache شما سریع تر و پایدارتر کار کنه، اول باید بدونید سرورتون چه ظرفیت و توانایی داره تا نیازهای پروژه رو درست جواب بده. تو این مقاله چند تا نکته کاربردی برای افزایش سرعت و بهینه سازی Apache با هم بررسی می کنیم.
✅ قبل شروع اگه خواستین روش های افزایش عملکرد وب سرور آپاچی رو با سرعت بالا تست کنین ولی سرور مجازی لینوکس ندارین، پیشنهاد میکنم از سرور مجازی لینوکس آذرسیس استفاده کنین.
Apache چیست؟
Apache یه وب سرور رایگان و متن بازه که محتواهای وب رو از طریق اینترنت ارائه میده. متن باز بودن یعنی توسعه دهندهها به کد اصلی دسترسی دارن و می تونن تغییراتش بدن. به همین دلیل، Apache یکی از محبوب ترین وب سرورهاست.
چند تا نکته مهم:
با لینوکس، ویندوز و macOS سازگاره.
می تونید با ماژول ها امکاناتش رو گسترش بدید مثل امنیت، کش، بازنویسی URL و احراز هویت.
بخش جدایی ناپذیر LAMP هست و برای توسعه و میزبانی وب عالیه.
Apache، NGINX و IIS کدوم بهتره؟
طبق تحقیقات Netcraft، وب سرور Apache هنوز پرکاربرده ولی سهمش نسبت به قبل کم شده.
وبسرور | سهم بازار (2025) | تغییر نسبت به گذشته | مقایسه |
Apache | 26.9% | کاهش از 50% به 26.9% | همچنان یکی از پرکاربردترین وبسرورها، ولی سهمش کاهش یافته |
NGINX | 33.8% | روند صعودی | در حال حاضر سهم بیشتری نسبت به Apache داره |
IIS (مایکروسافت) | 4.1% | کاهش چشمگیر | استفاده محدود و سهم کم در بازار |
5 روش برای افزایش سرعت و بهینه سازی Apache در لینوکس
با وب سرور آپاچی آشنا شدیم، با ما همراه باشین تا بعضی از نکات مهم رو باهم بررسی کنیم.
1. همیشه Apache رو آپدیت کنید.
به وب سایت Apache سر بزنید، چون ممکنه آپدیت جدید اومده باشه که خطاها رو رفع می کنه یا عملکرد رو بهتر می کنه. قبل آپدیت حتما از فایل های پیکربندی و سایت ها نسخه پشتیبان بگیرید.
برای بررسی نسخه نصب شده فعلی سیستم، دستور زیر رو اجرا کنین.
# httpd -v [On RedHat/CentOS based systems] # apache2 –v [On Debian/Ubuntu based systems]
2. کرنل لینوکس رو ارتقا بدید .
اگه هنوز از کرنل 2.4 استفاده می کنید، حتما آپدیت کنید. نسخه های جدیدتر باعث میشن عملیات انتقال فایل ها سریع تر بشه و رم کمتری مصرف بشه. برای بررسی نسخه فعلی نصب شده میتونید از دستور مقابل استفاده کنین.
# uname -r
آخرین نسخه پایدار هسته لینوکس رو در وبسایت kernel بررسی کنید.
3. ماژول MPM مناسب انتخاب کنید.
MPM (Multi-Processing Module) کمک میکنه Apache سریع تر و بهینه تر کار کنه. چند نوع MPM داریم.
MPM | ویژگیها | مزایا | معایب | مناسب برای |
Prefork | استفاده از چندین فرآیند جداگانه | – سازگاری بالا با mod_php – پایداری زیاد | – مصرف RAM بیشتر – سرعت کمتر | سایتهای قدیمی یا برنامههای ناسازگار با threading |
Worker | اجرای چند رشته در هر فرآیند | – مصرف حافظه کمتر – سرعت بالاتر | – ناسازگاری با برخی ماژول ها | سایتهای مدرن و پرترافیک |
Event | مدیریت اتصال KeepAlive و idle | – کاهش مصرف منابع – بهبود عملکرد | – ناسازگار با mod_php نیاز به استفاده از PHP-FPM | سایتهای مدرن و پرترافیک |
🔍 تجربه تیمی:
ما در تیم بر روی Apache 2.4 در سرور مجازی این روش رو تست کردیم. تغییردادن MPM از Prefork به Event زمان پاسخ دهی به درخواست ها رو تا 30% کمتر کرد. همچنین این روش برای سایت های پرترافیک مناسب تره و سرعت رو تا حدودی بیشتر میکنه.
4. فضای رم Apache رو هوشمندانه اختصاص بدید.
مقدار رم هر فرآیند Apache باید استاندارد باشه. اگه نمی تونید کنترلش کنید، با MaxRequestWorkers تعداد پردازش های همزمان رو محدود کنید تا رم بی جهت پر نشه.
💡نکته:
برای جلوگیری از پایین اومدن عملکرد، وب سرور شما نباید از swap استفاده کنه.
✅ برای مثال:
برای پیکربندی MPM Event می تونین دستور مقابل رو اجرا کنین:
<IfModule mpm_event_module> StartServers 3 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 ThreadsPerChild 25 MaxRequestWorkers 30 MaxConnectionsPerChild 1000 </IfModule>
حتما مستندات Apache 2.4 برای اطمینان از مجاز بودن MPM انتخابی بررسی کنین.
5. برنامه ها و ماژول ها رو بشناسید.
ماژول هایی که نیاز نیستن رو بارگذاری نکنید. قبلش حتما ببینید برنامه شما چه چیزایی لازم داره. همچنین ماژول های بارگذاری شده فعلی رو با اجرای دستور زیر می تونین لیست بندی کنین:
# httpd -M [On RedHat/CentOS based systems] # apache2ctl -M [On Debian/Ubuntu based systems]
برای غیرفعال کردن برخی ماژول ها از کد دستوری زیر استفاده کنین:
# a2dismod module_name
برای فعال کردن مجدد از دستور زیر استفاده کنین:
# a2enmod module_name
بعد از تغییر حتما Apache رو مجددا راه اندازی کنید تا تغییرات اعمال بشه.
برای اطلاعات دقیق تر و جزئیات فنی می تونید به مستندات رسمی Apache در apache.org/docs مراجعه کنید.
جمع بندی
تو این مقاله سعی کردیم که مهم ترین نکات مربوط به افزایش سرعت و بهینه سازی Apache در لینوکس رو بهتون بگیم. شما کدام MPM رو برای سرور خودتون استفاده می کنید و چرا؟ تجربه ها و پیشنهادهاتون رو در بخش نظرات با ما به اشتراک بزارید تا بقیه کاربران هم استفاده کنند. راستی برای مطالعه و کسب اطلاعات بیشتر آموزشی در مورد لینوکس میتونین به صفحه اصلی وبلاگ آذرسیس مراجعه کنین.
آپاچی انعطاف پذیری و طیف گسترده ای از ماژول ها رو ارائه میده، در حالی که NGINX به عنوان سرور پروکسی، مقیاسپذیری، سرعت و چند منظوره بودن رو ارائه میده. rn
بله. به طور گسترده مورد استفاده قرار می گیره.