خانه bread crumb arrow icon وبلاگ bread crumb arrow icon آموزش های پایه و مقدماتی bread crumb arrow icon 5 نکته برای افزایش عملکرد وب سرور Apache

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

5 روش طلایی برای افزایش سرعت و بهینه سازی Apache
تیم محتوا
مدت زمان مطالعه : 9 دقیقه
0 کامنت
۱۴۰۴/۰۵/۲۷

برای اینکه وب سرور 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]

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

2. کرنل لینوکس رو ارتقا بدید .

اگه هنوز از کرنل 2.4 استفاده می‌ کنید، حتما آپدیت کنید. نسخه‌ های جدیدتر باعث میشن عملیات انتقال فایل‌ ها سریع‌ تر بشه و رم کمتری مصرف بشه. برای بررسی نسخه فعلی نصب شده میتونید از دستور مقابل استفاده کنین.

# uname -r

آخرین نسخه پایدار هسته لینوکس رو در وبسایت kernel بررسی کنید.

2. اگه از کرنل ۲.۴ استفاده می کنین، همین الان ارتقا بدید.

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

بله. به طور گسترده مورد استفاده قرار می گیره.

0

دیدگاه و پرسش