Optimizimi i performancës apache2

Shumë përdorin apache2 si një server web. Megjithatë, pak dëshmojnë për optimizimin e performancës së tij, gjë që ndikon drejtpërdrejt në shpejtësinë e ngarkimit të faqeve të faqes, shpejtësinë e përpunimit të skripteve (veçanërisht php), si dhe në rritjen e ngarkesës në CPU dhe rritjen e volumit të përdoruar RAM.

Prandaj, manuali i mëposhtëm duhet t'i 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Ă« pahumbura.

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

Lista e moduleve që po përdoren aktualisht mund të shihet me komandën:

apache2ctl -M

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

a2dismod *emri i modulit*

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

a2enmod *emri i modulit*

Këtu duhet të vini re se, kur përdorni a2dismod, emri i modulit duhet të shkruhet pa vetë fjalën modul.

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

Modulet që më shumë ngarkojnë sistemin (sipas përvojës sime) janë:

  • PHP, Ruby, Perl dhe modulet e tjera pĂ«r gjuhĂ« skriptimi tĂ« ndryshme
  • SSL
  • Rewrite
  • CGI

Prandaj, në rastet kur këto module nuk ju nevojiten, unë rekomandoj t'i çaktivizoni këto module.

Po ashtu, pas çaktivizimit tĂ« ndonjĂ« moduli, unĂ« 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 e nevojshme pĂ«r to, do tĂ« japĂ« njĂ« mesazh gabimi.

2. Ndryshimi i MPM (Moduli i Multi-Përpunimit) dhe përdorimi i php-fpm

Sipas parazgjedhjes, pas instalimit, apache2 përdor MPM Prefork (1 rrjedhë për 1 lidhje), e cila e ul ndjeshëm performancën, por përmirëson stabilitetin dhe sigurinë.

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

Për ta aktivizuar, përdorni 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ë, gjatë përdorimit të Worker, mund të hasni në një problem, pasi moduli php7.3 varet nga moduli Prefork.

Për të zgjidhur këtë problem, do të instalojmë modulën php7.3-fpm, e cila do të përdoret për ekzekutimin e skripteve php:

apt-get update && apt-get install php7.3-fpm  // Instalojmë
systemctl enable php7.3-fpm && systemctl start php7.3-fpm  // Shtojmë në ngarkesë automatikisht dhe e nisëm
a2enmod php7.3-fpm && a2enconf php7.3-fpm.conf  // Aktivizojmë modul dhe konfigurimin për të

Duhet vënë re se përdorimi i php-fpm gjithashtu do të zvogëlojë sasinë e RAM-it të përdorur nga procesi apache2 dhe do të përshpejtojë paksa ekzekutimin e skripteve php.

3. Përfundimi

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

Natyrisht, ka qindra mundësi të tjera optimizimi, si aktivizimi i kompresimit (çka është vërtet e dobishme, por kryesisht është tashmë e aktivizuar si default), ndryshimi i parametrave (skedarëve të konfigurimit) MPM, çaktivizimi i HostnameLookups etj., por në këtë artikull përpiqesha të përshkruaja pikërisht ato pika që më ndihmuan më shumë, dhe shpresoj se do të ndihmojnë dhe të tjerët.

Burimi: habr.com

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