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 hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster