ottimisazione di u rendiment apache2

Parechje persone utilizanu apache2 cum'è un servitore web. In ogni casu, pochi pirsuni pensanu à ottimisà a so prestazione, chì affetta direttamente in proporzione a velocità di carica di e pagine di u situ, a velocità di script di processazione (in particulare php), è ancu un aumentu di a carica di CPU è un aumentu di a quantità di RAM utilizata.

Cusì, u seguente manuale deve aiutà i principianti (è micca solu) l'utilizatori.
Tutti l'esempii quì sottu sò stati utilizati in Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.

Allora accuminciamu.

1. Disattivà i moduli inutilizati

U primu metudu hè di disattivà solu moduli chì ùn avete micca aduprate:

A lista di i moduli attualmente utilizati pò esse vistu cù u cumandimu:

apache2ctl -M

Per disattivà u modulu, utilizate u cumandimu:

a2dismod *название модуля*

Dunque, per attivà u modulu, utilizate u cumandimu:

a2enmod *название модуля*

Per piacè nutate chì quandu si usa a2dismod, u nome di u modulu deve esse scrittu senza a parolla modulu stessu.

Per esempiu, sè vo site in u output di u cumandamentu apache2ctl -M vide proxy_module, dopu à disattivà lu avete bisognu à aduprà u cumandamentu - a2dismod proxy

I moduli chì caricanu u sistema più (da l'esperienza persunale) sò:

  • PHP, Ruby, Perl è altri moduli per diverse lingue di scrittura
  • SSL
  • Riscrivi
  • CGI

Allora in i casi induve ùn avete micca bisognu di sti moduli, ricumandemu di disattivà questi moduli.

Inoltre, dopu avè disattivatu qualsiasi modulu, ricumandemu di utilizà u cumandimu - apache2ctl configtest, chì verificarà a cunfigurazione di i siti utilizati è se qualchissia di i moduli disattivati ​​era necessariu per elli, generarà un errore.

2. Cambia MPM (Multi-Processing Module) è utilizendu php-fpm

Per automaticamente, dopu a stallazione, apache2 usa MPM Prefork (1 filu per 1 cunnessione), chì reduce significativamente u rendiment, ma à u stessu tempu migliurà a stabilità è a sicurità.

Ma per ottimisà u rendiment, ricumandemu di utilizà MPM Worker, chì vi permette di utilizà parechje fili per cunnessione.

Per attivà, usemu i seguenti cumandamenti:

a2dismod mpm_prefork  //Отключаем prefork
a2dismod php7.3  //Отключаем модуль php, который зависит от prefork
a2enmod mpm_worker  //Включаем worker

Tuttavia, quandu si usa Worker, pudete truvà un prublema perchè ... U modulu php7.3 dipende da u modulu Prefork.

Per risolve stu prublema, stallà u modulu php7.3-fpm, chì serà utilizatu per eseguisce script PHP:

apt-get update && apt-get install php7.3-fpm  //Устанавливаем
systemctl enable php7.3-fpm && systemctl start php7.3-fpm  //Добавляем в автозагрузку и запускаем
a2enmod php7.3-fpm && a2enconf php7.3-fpm.conf  //Включаем модуль и конфиг для него

Hè da nutà chì l'usu di php-fpm riducerà ancu a quantità di RAM utilizata da u prucessu apache2 è accelerà ligeramente u processu di script PHP.

3. Chjave

Cusì, cù tali azzioni simplici, avemu pussutu ottimisà u rendiment è riduce a carica nantu à a macchina (in questu casu RPI3).

Di sicuru, ci sò centinaie di altre opzioni di ottimisazione, cum'è l'abilitazione di a compressione (chì hè veramente utile, ma a maiò parte sò digià attivate per automaticamente), cambià i paràmetri MPM (fichi di cunfigurazione), disattivà HostnameLookups, etc., ma in questu articulu aghju pruvatu à fà. riflette Quessi sò i punti chì m'hà aiutatu u più, è spergu chì aiutanu à l'altri.

Source: www.habr.com

Add a comment