Apache2 jÔudluse optimeerimine

Paljud kasutavad apache2 veebiserverina. Siiski mÔtleb vÀhesed selle jÔudluse optimeerimisele, mis mÔjutab otse veebilehtede laadimiskiirust, skriptide (eriti php) töötlemise kiirusest ning koormuse kasvu CPU-le ja suurenevat RAM-i kasutamist.

Seega peaks jÀrgmine juhend aitama algajaid (ja mitte ainult) kasutajaid.
KÔiki alljÀrgnevaid nÀiteid kasutati Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3 peal.

Nii et alustame.

1. Kasutamata moodulite keelamine

Esimene meetod on lihtne moodulite keelamine, mida te ei kasuta:

Praegu kasutatavate moodulite nimekirja saab vaadata kÀsuga:

apache2ctl -M

Mooduli keelamiseks kasutatakse kÀsku:

a2dismod *mooduli nimi*

Seega mooduli lubamiseks kasutatakse kÀsku:

a2enmod *mooduli nimi*

Pange tÀhele, et kasutades a2dismod, tuleb mooduli nimi kirjutada ilma sÔna moodul.

NĂ€iteks, kui nĂ€ete kĂ€su vĂ€ljundis apache2ctl -M mooduli proxy_module, siis selle keelamiseks tuleb kasutada kĂ€sku — a2dismod proxy

SĂŒsteemi kĂ”ige suurema koormuse tekitavad moodulid (minu isikliku kogemuse pĂ”hjal) on:

  • PHP, Ruby, Perl ja muud moodulid erinevate skriptide jaoks
  • SSL
  • Rewrite
  • CGI

Seega, kui need moodulid pole teile vajalikud, soovitan need moodulid keelata.

Samuti, pĂ€rast mĂ”ne mooduli keelamist, soovitan kasutada kĂ€sku — apache2ctl configtest, mis kontrollib kasutatavate saidi konfiguratsiooni ja kui mĂ”ni keelatud moodul oli vajalik, annab see veateate.

2. MPM (Multi-Processing Module) muutmine ja php-fpm kasutamine

Vaikimisi, pĂ€rast installimist, kasutab apache2 MPM Prefork (1 protsess 1 ĂŒhenduse kohta), mis vĂ€hendab tuntavalt jĂ”udlust, kuid parandab stabiilsust ja turvalisust.

Kuid jĂ”udluse optimeerimiseks soovitan kasutada MPM Worker, mis vĂ”imaldab kasutada mitmeid protsesse ĂŒhe ĂŒhenduse korral.

Selle lubamiseks kasutame jÀrgmisi kÀske:

a2dismod mpm_prefork  \/\/Keelame prefork
a2dismod php7.3  \/\/Keelame php mooduli, mis sÔltub preforkist
a2enmod mpm_worker  \/\/Lubame worker

Kuid workerit kasutades vÔite kokku puutuda probleemiga, kuna moodul php7.3 sÔltub moodulist Prefork.

Selle probleemi lahendamiseks installime php7.3-fpm mooduli, mida kasutatakse php-skriptide töötlemiseks:

apt-get update && apt-get install php7.3-fpm  // Paigaldamine
systemctl enable php7.3-fpm && systemctl start php7.3-fpm  // Lisame automaatsesse kÀivitamisse ja kÀivitame
a2enmod php7.3-fpm && a2enconf php7.3-fpm.conf  // LĂŒlitame mooduli ja selle konfiguratsiooni sisse

Tuleb mÀrkida, et php-fpm kasutamine vÀhendab samuti apache2 protsessi kasutatavat RAM-i ning kiirendab php-skriptide töötlemist.

3. KokkuvÔte

Seega suudame nende lihtsate toimingutega optimeerida jÔudlust ja vÀhendada koormust masinale (antud juhul RPI3).

Muidugi on sadu teisi optimeerimise vĂ”imalusi, nĂ€iteks kompressiooni lubamine (mis on tĂ”eliselt kasulik, kuid enamasti on see juba vaikimisi sisse lĂŒlitatud), MPM konfiguratsioonifailide parameetrite muutmine, HostnameLookups'i vĂ€ljalĂŒlitamine jne, kuid selles artiklis pĂŒĂŒdsin vĂ€lja tuua just need punktid, mis aitasid mind kĂ”ige rohkem, ja loodan, et need aitavad ka teisi.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster