Оптимизиране на ефективността на Apache - Част 1
Тази статия е част от серията Ръководство за Apache Server:
- Осигуряване на Apache на Ubuntu - Част 1
- Осигуряване на Apache на Ubuntu - Част 2
- Оптимизиране на ефективността на Apache - Част 1
- Оптимизиране на ефективността на Apache - Част 2
- Настройване на Apache на
- Настройване на IP и Port-базирани Virtualhost в Apache
- Как да настроите паролата за защита на уеб директорията в Apache
- Настройване на Apache Server със SSL поддръжка на Ubuntu
- Създаване на Fail2ban за защита на Apache от DDOS атака
- Как да настроите Webdata с Apache на Ubuntu
- Следете уеб сървъра на Apache, използвайки Mod_status
- Как да защитите срещу DDoS с Mod_evasive на Apache Server
Apache е уеб-сървър с отворен код и е най-популярният уеб сървър в целия свят. Почти 70% от уеб сървърите в интернет използват Apache. Въпреки че можем да подобрим производителността на Apache сървър чрез добавяне на допълнителен хардуер като RAM, CPU и т.н., можем да постигнем същия резултат, като персонализираме и конфигурацията на Apache.
Този пост обяснява как да подобрите производителността на Apache, без да добавяте допълнителни хардуерни ресурси към системата си.
Забележка : това ръководство се извършва на сървър на Ubuntu 14.04 14.04.
MaxKeepAliveRequests
MaxKeepAliveRequests ограничава броя разрешени заявки за връзка. Използва се за контролиране на постоянните връзки. В Ubuntu стойността по подразбиране на MaxKeepAliveRequests
е 100
. Можете да го промените на всяка стойност, която желаете. Препоръчителната стойност на MaxKeepAliveRequests
е между 50 и 75.
Можете да промените тази стойност, като редактирате конфигурационния файл на Apache.
sudo nano /etc/apache2/apache2.conf
Променете стойността от 100 на 60.
MaxKeepAliveRequests 60
Запишете файла и рестартирайте Apache.
sudo /etc/init.d/apache2 рестартирайте
KeepAliveTimeout
KeepAliveTimeout определя колко дълго сървърът чака нова заявка от свързани клиенти. Задаването на KeepAliveTimeout на висока стойност може да доведе до проблеми с производителността на силно зареден уеб сървър. В Ubuntu стойността по подразбиране на KeepAliveTimeout
е 15
. Препоръчителната стойност на KeepAliveTimeout
е между 1 и 5.
Можете да промените тази стойност, като редактирате конфигурационния файл на Apache.
sudo nano /etc/apache2/apache2.conf
Променете стойността от 15 на 3.
KeepAliveTimeout 3
Запишете файла и рестартирайте Apache.
MaxClients
Той определя ограничението за броя на едновременните връзки, които ще бъдат изпълнени. Всяка нова заявка за връзка ще бъде поставена на опашка след тази граница. След като процесът бъде освободен, връзката в опашката ще бъде изпълнена. В Ubuntu стойността по подразбиране MaxClients
е 250
. Препоръчва се тази стойност да се запази на 150
.
Можете да промените тази стойност, като редактирате файла "mpm_prefork.conf".
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Променете стойността от 250 на 150.
MaxClients 150
Запишете файла и рестартирайте Apache.
MaxConnectionsPerChild
Използва се за рециклиране на процеси. Когато тази граница е зададена на 0
, неограничен брой заявки са разрешени за всеки процес. MaxConnectionsPerChild определя лимита за броя на заявките, които отделният детски процес ще обработва. След като достигне определената граница, процесът на детето ще умре. В Ubuntu стойността по подразбиране MaxConnectionsPerChild
е 100
.
Препоръчителните стойности за тази настройка са:
- виртуализиран сървър 300
- сървър с 1 - 4GB RAM 500
- сървър с 4 + GB RAM 1000
Можете да промените тази стойност, като редактирате файла "mpm_prefork.conf".
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Променете стойността от 100 на 300.
MaxConnectionsPerChild 300
Запишете файла и рестартирайте Apache.
Запази живи
По подразбиране тази настройка е зададена на O n
в Ubuntu. Когато сървърът на Apache получава заявки от стотици и хиляди IP адреси наведнъж, тази настройка трябва да е Off
. Препоръчва се тази настройка да се деактивира, за да се увеличи производителността на връзката.
Можете да деактивирате тази настройка, като редактирате конфигурационния файл на Apache.
sudo nano /etc/apache2/apache2.conf
Променете стойността от On
Off.
On
Off.
KeepAlive Off
Запишете файла и рестартирайте Apache.
MinSpareServers и MaxSpareServers
Той определя желания минимален и максимален брой процеси на дежурния сървър. Той контролира колко неизползвани детски процеси Apache ще останат живи, докато чакат повече заявки, за да ги използват. Всеки детски процес консумира ресурси, така че ако зададете стойността на MaxSpareServers
твърде висока, това може да доведе до проблеми с ресурсите.
Препоръчителните стойности за MinSpareServers
са:
- виртуализиран сървър 5
- сървър с 1-2 GB RAM 10
- сървър с 2 - 4GB RAM 20
- сървър с 4 GB RAM 25
Препоръчителните стойности за стойността на MaxSpareServers
трябва да се задават двойно по- MinSpareServers
от тези на MinSpareServers
.
Можете да промените стойността на MinSpareServers
на 5
и MaxSpareServers
на 10
като редактирате файла "mpm_prefork.conf".
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
MinSpareServers 5 MaxSpareServers 10
Запишете файла и рестартирайте Apache.
заключение
Конфигурирането на Apache за максимална ефективност е много лесно. Можете също така да разберете изискванията на уеб сървъра и да тествате с различни налични опции. Ще намерите още съвети за оптимизиране на Apache в следващата ми публикация. Чувствайте се свободни да коментирате, ако имате някакви въпроси.