GNU/Linux >> Znalost Linux >  >> Linux

Použití skriptu Apache2Buddy pro výkon a stabilitu

Co je Apache2Buddy?

Použijte skript Apache2Buddy k doporučení změn konfigurace webového serveru Apache®, které pomáhají s výkonem a stabilitou. Apache2Buddy nemá žádný vliv na samotný server a neprovádí žádné změny. Po spuštění skriptu navrhne opravy Apache, které můžete prozkoumat a zvážit použití.

Apache2Buddy kontroluje alespoň následující oblasti zájmu:

  • Omezení paměti PHP®
  • Memcache
  • MaxClients
  • Využití paměti
  • Maximální potenciální využití paměti
  • Procento celkové paměti RAM přidělené Apache
  • MaxRequestWorkers

Spusťte Apache2Buddy

Spuštěním následujícího příkazu spusťte skript z příkazového řádku systému Linux®:

curl -sL https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl | perl

Po dokončení skriptu Apache2Buddy vrátí něco podobného jako následující výstup:

Apache Tuning with Respect to RAM Footprint of Web Applications
--------------------------------------------------------------

The MaxClients setting in your Apache configuration allows your web application child processes 
to consume more RAM than is available on the server.
---
[ -- ] Distro: CentOS
[ -- ] Version: 6.9
[ -- ] Codename: Final
[ OK ] This distro is supported by apache2buddy.pl.
[ -- ] Hostname: Server-01
[ -- ] Primary IP: 123.45.67.890
[ -- ] Apache is using prefork model.
[ OK ] Memory usage of parent PID is less than 50MB: 8368 Kilobytes.
[ -- ] Apache has been running 21d 06h 49m 32s.
[ -- ] Your server has 5834 MB of PHYSICAL memory.
[ -- ] Your ServerLimit setting is 60.
[ -- ] Your MaxClients setting is 60.
[ OK ] Current Apache Process Count is 22, including the parent PID.
[ -- ] Number of vhosts detected: 17.
[ -- ]             |________ of which 13 are HTTP (specifically, port 80).
[ -- ]             |________ of which 4 are HTTPS (specifically, port 443).
[ OK ] Current Apache vHost Count is less than maxclients.
[ -- ] Your MaxRequestsPerChild setting is 2000.
[ -- ] Your PHP Memory Limit (Per-Process) is 128 MB.
[ -- ] MySQL Detected => Using 134.74 MB of memory.
[ OK ] No large logs files were found in /var/log/httpd.
[ OK ] MaxClients has not been hit recently.
[ !! ] PHP Fatal errors were found, see summaries below.
[ @@ ] Check the logs manually.
[ @@ ]  - /var/log/httpd/example.com-error.log-20200203: 3
[ @@ ]  - /var/log/httpd/example.com-error.log: 5
[ @@ ]  - /var/log/httpd/example2.com-error.log-20200203: 1
[ -- ] httpd is currently using 2384.92 MB of memory.
[ -- ] The smallest apache process is using 83.18 MB of memory
[ -- ] The average apache process is using 107.48 MB of memory
[ -- ] The largest apache process is using 133.83 MB of memory
[ !! ] Going by the average Apache process, Apache can potentially use 6448.81 MB RAM: 
Without considering services: 110.54 % of total installed RAM 
Considering extra services: 113.16 % of remaining RAM 
[ !! ] Going by the largest Apache process, Apache can potentially use 8029.81 MB RAM: 
Without considering services: 137.64 % of total installed RAM 
Considering extra services: 140.90 % of remaining RAM

--------------------------------------------------------------------------------
### GENERAL FINDINGS & RECOMMENDATIONS ###
--------------------------------------------------------------------------------

Apache2buddy.pl report for server: Server-01 (123.45.67.890):
Settings considered for this report:
  Your server's physical RAM:                                   5834 MB
  Remaining Memory after other services considered:             5699 MB
  Apache's MaxClients directive:                                60       <---- Current Setting    
  Apache MPM Model:                                             prefork
  Largest Apache process (by memory):                           133 MB
[ !! ]  Your MaxClients setting is too high.
Your recommended MaxClients setting is between 37 and 42.              <---- Acceptable Range (10% of MAX)
Max potential memory usage:                                   8029 MB
Percentage of TOTAL RAM allocated to Apache:                  137.64  %
Percentage of REMAINING RAM allocated to Apache:              140.90  %
--------------------------------------------------------------------------------

Zkontrolujte výsledky

Můžete také vidět výstup skriptu Apache2Buddy, který je podobný následujícímu příkladu:

 [ !! ] Going by the average Apache process, Apache can potentially use 6448.81 MB RAM: 
 Without considering services:    110.54 % of total installed RAM 
 Considering extra services: 113.16 % of remaining RAM 
 [ !! ] Going by the largest Apache process, Apache can potentially use 8029.81 MB RAM: 
 Without considering services: 137.64 % of total installed RAM             
 Considering extra services: 140.90 % of remaining RAM

Měli byste vědět, že toto prohlášení obsahuje následující předpoklady:

  • Postup průměrným procesem Apache :Ne všechny procesy Apache jsou průměrné velikosti. Některé procesy mohou být větší nebo menší.
  • Bez ohledu na služby :Apache2Buddyy se pokouší vypočítat možné využití paměti webového serveru Apache. Nebere v úvahu, že dostupná paměť se používá také pro jiné aplikace, jako je PHP, MariaDB® a samotný operační systém.
  • Zvažování doplňkových služeb :Apache2Buddy se pokouší vypočítat možné využití paměti webového serveru Apache při vytváření předpokladů využití paměti jinými dostupnými aplikacemi, což nemusí být správné.

Poznámka :Toto prohlášení poskytnuté Apache2Buddy byste měli považovat za informativní ohledně nejhoršího scénáře. Možná budete muset dále prozkoumat, abyste získali jasnost. Další informace naleznete na následujícím odkazu:https://richardforth.github.io/apache2buddy_ag/.


Linux
  1. Co je to Rolling Release Linux a jaký je skutečný přínos jeho používání

  2. Použití nfsstat a nfsiostat k řešení problémů s výkonem NFS v Linuxu

  3. Použití ssh-keygen a sdílení pro ověřování založené na klíčích v Linuxu

  1. Jak změnit výchozí délku čáry pro Od a Hexdump?

  2. Navrhujte a sestavujte cloudové servery pro stabilitu

  3. 24 Příklady iostat, vmstat a mpstat pro monitorování výkonu Linuxu

  1. 7 praktických triků pro použití příkazu wget pro Linux

  2. konvence pojmenování pro shell skript a makefile

  3. Jaký je rozdíl mezi použitím `sh` a `source`?