Optimizimi i performancës apache2

Shumica e njerëzve përdorin apache2 si server web. Megjithatë, pak nga ata mendojnë për optimizimin e performancës së tij, e cila reflektohet drejtpërdrejt në shpejtësinë e ngarkimit të faqeve të sitit, shpejtësinë e përpunimit të skenarëve (veçanërisht PHP), si dhe në rritjen e ngarkesës në CPU dhe rritjen e sasisë së RAM-it të përdorur.

Kështu, manuali në vazhdim duhet të ndihmojë fillestarët (dhe jo vetëm) përdoruesit.
Të gjitha shembujt e mëposhtëm janë përdorur në Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.

Pra, le të fillojmë.

1. Çaktivizimi i moduleve tĂ« papĂ«rdorura

Metoda e parë është thjesht çaktivizimi i moduleve që nuk përdorni:

Lista e moduleve të përdorura në këtë moment mund të shihet me komandën:

apache2ctl -M

Për të çaktivizuar një modul përdoret komanda:

a2dismod *emri i modulit*

Për rrjedhojë, për të aktivizuar një modul përdoret komanda:

a2enmod *emri i modulit*

Vini re se kur përdorni a2dismod, emri i modulit duhet shkruar pa fjalën modul vetë.

PĂ«r shembull, nĂ«se nĂ« daljen e komandĂ«s apache2ctl -M shihni proxy_module, pĂ«r ta çaktivizuar duhet tĂ« pĂ«rdorni komandĂ«n — a2dismod proxy

Modulet që ngarkojnë më shumë sistemin (sipërfaqësisht nga eksperienca ime) janë:

  • PHP, Ruby, Perl dhe module tĂ« tjera pĂ«r gjuhĂ« tĂ« ndryshme skenesh
  • SSL
  • Rewrite
  • CGI

Pra, në ato raste kur këto module ju nevojiten, gjeneroj që t'i çaktivizoni.

Po ashtu, pas çaktivizimit tĂ« ndonjĂ« moduli, rekomandoj tĂ« pĂ«rdorni komandĂ«n — apache2ctl configtest, e cila do tĂ« kontrollojĂ« konfigurimin e faqeve tĂ« pĂ«rdorura dhe nĂ«se ndonjĂ« nga modulet e çaktivizuara ishte i nevojshĂ«m pĂ«r to, do tĂ« japĂ« njĂ« gabim.

2. Ndryshimi i MPM (Moduli i Procesit të Shumëfishtë) dhe përdorimi i php-fpm

Me default, pas instalimit, apache2 përdor MPM Prefork (1 rrjedhë për 1 lidhje), që dukshëm ul performancën, por përmirëson stabilitetin dhe sigurinë.

Por për optimizimin e performancës rekomandoj të përdorni MPM Worker, i cili lejon përdorimin e disa rrjedhave për një lidhje.

Për ta aktivizuar përdoren komandat e mëposhtme:

a2dismod mpm_prefork  \\ Çaktivizoni prefork
a2dismod php7.3  \\ Çaktivizoni modul php, i cili varet nga prefork
a2enmod mpm_worker  \\ Aktivizoni worker

Megjithatë, kur përdorni Worker, mund të hasni një problem, pasi moduli php7.3 varet nga moduli Prefork.

Për të zgjidhur këtë problem, do të instalojmë modul php7.3-fpm, i cili do të përdoret për përpunimin e skenarëve php:

apt-get update && apt-get install php7.3-fpm  \\ Instaloni
systemctl enable php7.3-fpm && systemctl start php7.3-fpm  \\ Shtoni në ngarkesë të automatizuar dhe filloni
a2enmod php7.3-fpm && a2enconf php7.3-fpm.conf  \\ Aktivizoni modul dhe konfigurimin për të

Vlen të theksohet se përdorimi i php-fpm gjithashtu do të zvogëlojë sasinë e RAM-it të përdorur nga procesi apache2 dhe pak do të përshpejtojë përpunimin e skripteve php.

3. Përfundim

Kështu, me këto veprime të thjeshta, arritëm të optimizojmë performancën dhe të ulim ngarkesën në makinë (në këtë rast RPI3).

Sigurisht, ka qindra mundësi të tjera për optimizim, si aktivizimi i kompresionit (çka është me të vërtetë e dobishme, por në shumicën e rasteve është aktivizuar me default), ndryshimi i parametrave (skedarëve të konfigurimit) të MPM, çaktivizimi i HostnameLookups etj., por në këtë artikull kam përqendruar vëmendjen pikërisht në ato pika që më ndihmuan më shumë dhe shpresoj se do të ndihmojnë të tjerët.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster