Тази статия е част от серията Ръководство за 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 в следващата ми публикация. Чувствайте се свободни да коментирате, ако имате някакви въпроси.