Kā noregulēt un optimizēt Apache veiktspēju

1. Optimizējiet aparatūru un operētājsistēmu

a) operatīvā atmiņa

Pārliecinieties, ka jums ir pietiekami daudz vietas RAM, lai palielinātu apache tīmekļa servera veiktspēju, it īpaši kešatmiņas saglabāšanas laikā. Ja RAM aizpilda, pieprasījumi tiks novirzīti uz vietas maiņu, kas palielina latentumu. Tas nozīmē, ka lietotājiem ir atkārtoti jāielādē savs pieprasījums, tādējādi vēl vairāk palielinot slodzi. Lai atrisinātu šo problēmu, t.i., ierobežotu Apache tīmekļa servera radīto bērnu procesu skaitu, pēc kura tie tiek novirzīti uz vietas maiņu, jums jāiestata MaxRequestWorkers. Lai iegūtu vislabāko cenas un vērtības attiecību, rīkojieties šādi:


  1. Izmantojiet augšējo komandu, lai pārbaudītu apache procesa izmantoto vidējo operatīvās atmiņas lielumu
  2. Sadaliet kopējo pieejamo operatīvās atmiņas lielumu ar vidējo operatīvās atmiņas lielumu, ko izmanto apache, lai iegūtu MaxRequestWorkers skaitu.

Lai palielinātu Apache veiktspēju, pārliecinieties, vai jums ir ātrāks centrālais procesors, ātrāka tīkla karte un ātrāki diski.

b) uzrakstiet bufera lielumu

Palieliniet rakstīšanas bufera lielumu, palielinot vērtību divos failos:

/ proc / sys / net / core / wmem_max
/ proc / sys / net / core / wmem_default

c) maksimālais atvērto failu skaits

Ja apache tīmekļa serveris apstrādā lielas slodzes, ieteicams palielināt maksimālo atļauto atvērto failu skaitu, palielinot faila vērtību:

/ proc / sys / fs / file-max

Pēc tam palaidiet komandu:

ulimit -H -n 4096 USD

2. Noskaņojiet izpildes laika konfigurāciju

a) Atspējojiet .htaccess, izmantojot AllowOverride

Iespējojot AllowOverride, apache mēģina atvērt .htaccess ikreiz, kad tiek izteikts pieprasījums. Tas patiešām samazina Apache tīmekļa servera veiktspēju. Lai to atrisinātu, izmantojiet opciju Atļaut neveikt nevienu, kā parādīts zemāk:

DocumentRoot "/ www / var / html"

AllowOverride Nav

b) Atspējojiet DNS meklēšanu, izmantojot HostnameLookups

Kad HostnameLookups ir iespējots, t.i., ieslēgts, tas palielina katra pieprasījuma aizpildīšanas latentumu pēc DNS uzmeklēšanas. Tam ir divi risinājumi:

  1. Lai reģistrētu failus ar izšķirtspējīgiem nosaukumiem, veiciet žurnālu pēcapstrādi citā mašīnā, lai novērstu ražošanas servera veiktspējas palēnināšanos.
  2. Ja jums nav obligāti nepieciešama vārda izšķirtspēja, izmantojiet IP adreses un pilnībā atspējojiet DNS meklēšanu, izmantojot tālāk norādīto iespēju.

HostnameLookups izslēgts

3. Optimizējiet Compile-Time konfigurāciju

a) Daudzapstrādes moduļi (MPM)

MPM palīdzības apache spēj pieslēgties tīkla portiem, pārmaiņus izmantot bērnu procesus un pavedienus, lai pieņemtu un apstrādātu pieprasījumus. Ir 3 dažādi MPM veidi, un katrs no tiem ir piemērots dažādām prasībām.

strādnieks: Izmanto vairākus bērnu procesus, katrs ar daudziem pavedieniem, savukārt katrs pavediens vienlaikus apstrādā vienu savienojumu. Tas ir piemērots serveriem ar lielu trafiku, ņemot vērā mazāku atmiņas nospiedumu nekā iepriekš sagatavots.

notikums: Līdzīgi darbiniekam MPM attiecībā uz vītnēm, taču tas ļauj vienlaicīgi apkalpot vairāk pieprasījumu, novirzot daļu apstrādes uz atbalsta vītnēm. Tas palīdz atbrīvot atmiņu, kas tiek piešķirta citiem pavedieniem. Nav piemērots lietošanai ar moduļiem, kas nav droši pavedieni, piemēram, mod_php.

priekšgabals: Tiek izmantoti vairāki bērnu procesi, katrs ar vienu pavedienu. Katrs process apstrādā vienu savienojumu vienlaikus. Tas ir ātrāks nekā strādnieks, bet izmanto vairāk atmiņas. Piemērots programmu atkļūdošanai, izmantojot moduļus, kas nav droši no pavedieniem, piemēram, mod_php.

Lai pārbaudītu MPM versiju, palaidiet komandu

$ sudo httpd-V

Izeja:

[linuxuser @ centos7-apache ~] $ sudo httpd-V
[sudo] parole linuxuser:
Servera versija: Apache / 2.4.6 (CentOS)
Serveris izveidots: 2018. gada 20. aprīlī 18:10:38
Servera moduļa maģiskais numurs: 20120211: 24
Servera ielāde: APR 1.4.8, APR-UTIL 1.5.2
Apkopots, izmantojot: APR 1.4.8, APR-UTIL 1.5.2
Arhitektūra: 64 bitu
Servera MPM: iepriekš sagatavota
vītņots: nē
forked: jā (mainīgs procesu skaits)
Serveris sastādīts ar….
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (iespējotas ar IPv4 saistītas adreses)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT = 256
-D HTTPD_ROOT ="/ etc / httpd"
-D SUEXEC_BIN ="/ usr / sbin / suexec"
-D DEFAULT_PIDLOG ="/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD ="žurnāli / apache_runtime_status"
-D DEFAULT_ERRORLOG ="žurnāli / kļūdu_logs"
-D AP_TYPES_CONFIG_FILE ="conf / mime.types"
-D SERVER_CONFIG_FILE ="conf / httpd.conf"

Pašreizējais MPM ir iepriekš sagatavots, ja vēlaties to mainīt, rediģējiet šādi:

Priekš Centos 7

$ sudo vim /etc/httpd/conf.modules.d/00-mpm.conf

Priekš Ubuntu 16.04

$ sudo vim /etc/apache2/mods-avable/.load

Kur ir mpm_prefork, mpm_event vai mpm_worker

b) noņemiet nevajadzīgos moduļus

Daži no moduļiem, kas jums, iespējams, nav nepieciešami jūsu tīmekļa serverī, ietver, bet ne tikai, mod_mime, mod_dir, mod_php, mod_perl, mod_ruby, e.t.c. Tas palīdzēs ietaupīt RAM atmiņu, ko izmanto tīmekļa serveris.

Iekšā Centos 7, lai atspējotu vai izkrautu moduli, komentēt ārā< līnija, kas sākas ar LoadModule galvenajā konfigurācijas failā vai failos /etc/httpd/conf.modules.d/

Iekšā Ubuntu 16.04., Lai atspējotu vai izkrautu moduli, palaidiet komandu:

$ sudo a2dismod moduļa nosaukums

Lai iespējotu moduli

$ sudo a2enmod moduļa nosaukums

Pēc tam restartējiet apache pakalpojumu.

Iepazīstieties ar 3 labākajiem tīmekļa mitināšanas pakalpojumiem

FastComet

Sākuma cena:
2,95 USD


Uzticamība
9.7


Cenu noteikšana
9.5


Lietotāju draudzīgs
9.7


Atbalsts
9.7


Iespējas
9.6

Lasīt atsauksmes

Apmeklējiet vietni FastComet

A2 mitināšana

Sākuma cena:
3,92 USD


Uzticamība
9.3


Cenu noteikšana
9.0


Lietotāju draudzīgs
9.3


Atbalsts
9.3


Iespējas
9.3

Lasīt atsauksmes

Apmeklējiet vietni A2 Hostings

ChemiCloud

Sākuma cena:
2,76 USD


Uzticamība
10


Cenu noteikšana
9.9


Lietotāju draudzīgs
9.9


Atbalsts
10


Iespējas
9.9

Lasīt atsauksmes

Apmeklējiet vietni ChemiCloud

Saistītie padomi

  • Kā instalēt Apache un PHP-FPM uz Debian 8
    eksperts
  • Kā moduļus pievienot CentOS Apache serverim
    starpposms
  • Kā kopā konfigurēt Nginx un Apache tajā pašā Ubuntu VPS vai speciālajā serverī
    starpposms
  • Apache 2 servera iestatīšana, izmantojot iekļaušanas metodi, lai pārvaldītu pārlūkprogrammas kešatmiņu
    starpposms
  • Kā nocietināt Apache tīmekļa serveri uz CentOS 7 VPS vai Dedicated Server
    eksperts
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me