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