optimasi kinerja Apache2

Seueur jalma nganggo apache2 salaku pangladén wéb. Sanajan kitu, sababaraha urang mikir ngeunaan optimalisasi kinerja na, nu langsung mangaruhan laju loading kaca situs, laju ngolah Aksara (khususna php), kitu ogé kanaékan beban CPU jeung ngaronjatna jumlah RAM dipaké.

Ku kituna, manual handap kedah ngabantu beginners (teu ngan) pamaké.
Sadaya conto di handap ieu dianggo dina Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.

Ku kituna hayu urang ngamimitian.

1. Nonaktipkeun modul henteu kapake

Metodeu kahiji nyaéta ngan saukur nganonaktipkeun modul anu anjeun henteu anggo:

Daptar modul anu ayeuna dianggo tiasa ditingali ku paréntah:

apache2ctl -M

Pikeun nganonaktipkeun modul, paké paréntah:

a2dismod *название модуля*

Sasuai, pikeun ngaktipkeun modul, paké paréntah:

a2enmod *название модуля*

Punten dicatet yén nalika nganggo a2dismod, ngaran modul kudu ditulis tanpa kecap modul sorangan.

Contona, upami anjeun dina kaluaran paréntah Apache2ctl -M ragaji proxy_module, teras pikeun nganonaktipkeun éta anjeun kedah nganggo paréntah - a2dismod proxy

Modul anu paling ngamuat sistem (tina pangalaman pribadi) nyaéta:

  • PHP, Ruby, Perl jeung modul séjén pikeun sagala rupa basa scripting
  • SSL
  • Rewrite
  • CGI

Janten dina kasus dimana anjeun henteu peryogi modul ieu, kuring nyarankeun nganonaktipkeun modul ieu.

Ogé, saatos nganonaktipkeun modul naon waé, kuring nyarankeun ngagunakeun paréntah - Apache2ctl configtest, anu bakal pariksa konfigurasi situs anu dianggo sareng upami aya modul anu ditumpurkeun dipikabutuh pikeun aranjeunna, éta bakal ngahasilkeun kasalahan.

2. Ngarobah MPM (Multi-Processing Module) jeung ngagunakeun php-fpm

Sacara standar, saatos instalasi, apache2 nganggo MPM Prefork (1 thread per 1 sambungan), anu sacara signifikan ngirangan kinerja, tapi dina waktos anu sami ningkatkeun stabilitas sareng kaamanan.

Tapi pikeun ngaoptimalkeun kinerja, abdi nyarankeun make MPM Worker, nu ngidinan Anjeun pikeun make sababaraha threads per sambungan.

Pikeun ngaktifkeun éta kami nganggo paréntah di handap ieu:

a2dismod mpm_prefork  //Отключаем prefork
a2dismod php7.3  //Отключаем модуль php, который зависит от prefork
a2enmod mpm_worker  //Включаем worker

Nanging, nalika nganggo Worker anjeun tiasa ngalaman masalah sabab ... Modul php7.3 gumantung kana modul Prefork.

Pikeun ngajawab masalah ieu, hayu urang pasang modul php7.3-fpm, anu bakal dianggo pikeun ngajalankeun skrip PHP:

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  //Включаем модуль и конфиг для него

Perhatos yén ngagunakeun php-fpm ogé bakal ngirangan jumlah RAM anu dianggo ku prosés apache2 sareng rada nyepetkeun ngolah skrip PHP.

3. Kacindekan

Ku kituna, kalayan lampah basajan sapertos urang bisa ngaoptimalkeun kinerja sarta ngurangan beban dina mesin (dina hal ieu RPI3).

Tangtu, aya ratusan pilihan optimasi séjén, kawas sangkan komprési (anu bener mangpaat, tapi lolobana geus diaktipkeun sacara standar), ngarobah setelan MPM (file konfigurasi), nganonaktipkeun HostnameLookups, jsb, tapi dina artikel ieu kuring diusahakeun ngagambarkeun Ieu titik nu mantuan kuring paling, sarta kuring miharep bakal nulungan batur.

sumber: www.habr.com

Tambahkeun komentar