apache2 veiktspējas optimizācija

Daudzi cilvēki izmanto apache2 kā savu tÄ«mekļa serveri. Tomēr daži cilvēki domā par tā veiktspējas optimizēŔanu, kas tieÅ”i ietekmē vietnes lapas ielādes ātrumu, skriptu (Ä«paÅ”i php) apstrādes ātrumu, kā arÄ« CPU slodzes palielināŔanos un izmantotās RAM apjoma palielināŔanos.

Tādējādi Å”ai rokasgrāmatai vajadzētu palÄ«dzēt iesācējiem (un ne tikai) lietotājiem.
Visi tālāk norādītie piemēri tika izmantoti Raspberry PI 3 ierīcē. Debian 9, Apache 2.4.38, PHP 7.3.

Tātad, pieņemsim sākt.

1. Nelietoto moduļu atspējoÅ”ana

Pirmā metode ir vienkārÅ”i atspējot moduļus, kurus neizmantojat:

Šobrīd izmantoto moduļu sarakstu var apskatīt ar komandu:

apache2ctl -M

Lai atspējotu moduli, izmantojiet komandu:

a2dismod *название Š¼Š¾Š“ŃƒŠ»Ń*

Attiecīgi, lai iespējotu moduli, tiek izmantota komanda:

a2enmod *название Š¼Š¾Š“ŃƒŠ»Ń*

LÅ«dzu, ņemiet vērā, ka, lietojot a2dismod, moduļa nosaukums jāraksta bez paÅ”a vārda modulis.

Piemēram, ja atrodaties komandas izvadē apache2ctl -M redzēju starpniekservera_modulis, lai to atspējotu, jums jāizmanto komanda - a2dismod starpniekserveris

Moduļi, kas visvairāk ielādē sistēmu (pēc personīgās pieredzes), ir:

  • PHP, Ruby, Perl un citi moduļi dažādām skriptu valodām
  • SSL
  • RerÄ«ts
  • CGI

Tāpēc gadÄ«jumos, kad Å”ie moduļi nav nepiecieÅ”ami, iesaku Å”os moduļus atspējot.

Tāpat pēc jebkura moduļa atspējoÅ”anas iesaku izmantot komandu āˆ’ apache2ctl konfigurācijas tests, kas pārbaudÄ«s izmantoto vietņu konfigurāciju un, ja tām bija nepiecieÅ”ams kāds no atspējotajiem moduļiem, tas parādÄ«s kļūdu.

2. Mainiet MPM (Multi-Processing Module) un izmantojiet php-fpm

Pēc noklusējuma apache2 pēc instalēŔanas izmanto MPM Prefork (1 pavediens uz 1 savienojumu), kas ievērojami samazina veiktspēju, bet uzlabo stabilitāti un droŔību.

Bet, lai optimizētu veiktspēju, es iesaku izmantot MPM Worker, kas vienā savienojumā ļauj vienlaikus izmantot vairākus pavedienus.

Lai to iespējotu, izmantojiet Ŕādas komandas:

a2dismod mpm_prefork  //ŠžŃ‚ŠŗŠ»ŃŽŃ‡Š°ŠµŠ¼ prefork
a2dismod php7.3  //ŠžŃ‚ŠŗŠ»ŃŽŃ‡Š°ŠµŠ¼ моГуль php, который зависит от prefork
a2enmod mpm_worker  //Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŠ¼ worker

Tomēr, izmantojot Worker, var rasties problēma, jo php7.3 modulis ir atkarīgs no Prefork moduļa.

Lai atrisinātu Å”o problēmu, instalējiet php7.3-fpm moduli, kas tiks izmantots php skriptu apstrādei:

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  //Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŠ¼ моГуль Šø конфиг Š“Š»Ń него

Ir vērts atzÄ«mēt, ka php-fpm izmantoÅ”ana samazinās arÄ« apache2 procesa izmantotās RAM apjomu un nedaudz paātrinās php skriptu apstrādi.

3. Secinājums

Tādējādi ar tik vienkārŔām darbÄ«bām mēs varējām optimizēt veiktspēju un samazināt iekārtas slodzi (Å”ajā gadÄ«jumā RPI3).

Protams, ir arÄ« simtiem citu optimizācijas iespēju, piemēram, iespējot kompresiju (kas tieŔām ir noderÄ«gi, bet lielākā daļa jau ir iespējota pēc noklusējuma), mainÄ«t MPM parametrus (konfigurācijas failus), atspējot HostnameLookups utt., bet Å ajā rakstā es centos atspoguļot tos punktus, kas man ir palÄ«dzējuÅ”i visvairāk, un, cerams, noderēs arÄ« citiem.

Avots: www.habr.com

Iegādājieties uzticamu mitināŔanu vietnēm ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa vietņu mitināŔanu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster