In protte minsken brûke apache2 as webserver. In pear minsken tinke lykwols oer it optimalisearjen fan har prestaasjes, dy't direkt evenredich ynfloed hat op 'e laden snelheid fan side-siden, de snelheid fan ferwurkjen fan skripts (benammen php), lykas ek in ferheging fan CPU-lading en in tanimming fan' e hoemannichte RAM brûkt.
Sa moat de folgjende hantlieding begjinners (en net allinich) brûkers helpe.
Alle foarbylden hjirûnder waarden brûkt op Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.
Dus, lit ús begjinne.
1. It útskeakeljen fan net brûkte modules
De earste metoade is om modules gewoan út te skeakeljen dy't jo net brûke:
De list mei op it stuit brûkte modules kin besjoen wurde mei it kommando:
apache2ctl -MOm de module út te skeakeljen, brûk it kommando:
a2dismod *название модуля*Dêrom, om de module yn te skeakeljen, brûk it kommando:
a2enmod *название модуля*Tink derom dat by it brûken a2 dismod, moat de namme fan de module skreaun wurde sûnder it wurd module sels.
Bygelyks, as jo binne yn 'e útfier fan it kommando apache2ctl -M seach proxy_module, dan moatte jo it kommando brûke om it út te skeakeljen - a2dismod proxy
De modules dy't it systeem it measte laden (fan persoanlike ûnderfining) binne:
- PHP, Ruby, Perl en oare modules foar ferskate skripttalen
- SSL
- Omskriuwe
- CGI
Dus yn gefallen wêr't jo dizze modules net nedich binne, advisearje ik dizze modules út te skeakeljen.
Ek, nei it útskeakeljen fan elke module, advisearje ik it kommando te brûken - apache2ctl configtest, dy't de konfiguraasje fan 'e brûkte siden kontrolearje sil en as ien fan 'e útskeakele modules foar har nedich wie, sil it in flater generearje.
2. It feroarjen fan MPM (Multi-Processing Module) en it brûken fan php-fpm
Standert, nei ynstallaasje, brûkt apache2 MPM Prefork (1 thread per 1 ferbining), dy't de prestaasjes signifikant ferminderet, mar tagelyk de stabiliteit en feiligens ferbettert.
Mar om de prestaasjes te optimalisearjen, advisearje ik MPM Worker te brûken, wêrtroch jo meardere triedden per ferbining kinne brûke.
Om it yn te skeakeljen brûke wy de folgjende kommando's:
a2dismod mpm_prefork //Отключаем prefork
a2dismod php7.3 //Отключаем модуль php, который зависит от prefork
a2enmod mpm_worker //Включаем worker
By it brûken fan Worker kinne jo lykwols in probleem tsjinkomme om't ... De php7.3-module hinget ôf fan 'e Prefork-module.
Om dit probleem op te lossen, litte wy de php7.3-fpm-module ynstallearje, dy't brûkt wurde om PHP-skripts út te fieren:
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 //Включаем модуль и конфиг для него
It is de muoite wurdich op te merken dat it brûken fan php-fpm ek de hoemannichte RAM sil ferminderje dy't brûkt wurdt troch it apache2-proses en de ferwurking fan PHP-skripts in bytsje fersnelle.
3. Fermelding
Sa kinne wy mei sokke ienfâldige aksjes de prestaasjes optimalisearje en de lading op 'e masine (yn dit gefal RPI3) ferminderje.
Fansels binne d'r hûnderten oare optimisaasjeopsjes, lykas it ynskeakeljen fan kompresje (wat echt nuttich is, mar de measte binne standert al ynskeakele), feroarjen fan MPM-ynstellingen (konfiguraasjebestannen), útskeakelje fan HostnameLookups, ensfh., mar yn dit artikel haw ik besocht om reflektearje Dit binne de punten dy't my it meast holpen hawwe, en ik hoopje dat it oaren sil helpe.
Boarne: www.habr.com
