Was ist Apache2Buddy?
Verwenden Sie das Apache2Buddy-Skript, um Empfehlungen für Änderungen an der Apache®-Webserverkonfiguration zu geben, die die Leistung und Stabilität unterstützen. Apache2Buddy hat keinen Einfluss auf den Server selbst und nimmt keine Änderungen vor. Nachdem das Skript ausgeführt wurde, schlägt es Apache-Korrekturen vor, die Sie prüfen und anwenden können.
Apache2Buddy überprüft mindestens die folgenden Problembereiche:
- PHP®-Speichergrenzen
- Memcache
- MaxClients
- Speichernutzung
- Maximale potenzielle Speichernutzung
- Prozentsatz des gesamten Apache zugewiesenen Arbeitsspeichers
- MaxRequestWorkers
Apache2Buddy ausführen
Führen Sie den folgenden Befehl aus, um das Skript über eine Linux®-Befehlszeile zu starten:
curl -sL https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl | perl
Nachdem das Apache2Buddy-Skript abgeschlossen ist, gibt es etwas Ähnliches wie die folgende Ausgabe zurück:
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 %
--------------------------------------------------------------------------------
Prüfen Sie die Ergebnisse
Möglicherweise sehen Sie auch eine Ausgabe des Apache2Buddy-Skripts, die dem folgenden Beispiel ähnelt:
[ !! ] 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
Sie sollten wissen, dass diese Anweisung von den folgenden Annahmen ausgeht:
- Geht nach dem durchschnittlichen Apache-Prozess :Nicht alle Apache-Prozesse sind durchschnittlich groß. Einige Prozesse können größer oder kleiner sein.
- Ohne Berücksichtigung von Dienstleistungen :Apache2Buddyy versucht, den möglichen Speicherverbrauch des Apache-Webservers zu berechnen. Es wird nicht berücksichtigt, dass verfügbarer Speicher auch für andere Anwendungen wie PHP, MariaDB® und das Betriebssystem selbst verwendet wird.
- Zusätzliche Dienstleistungen in Betracht ziehen :Apache2Buddy versucht, das Mögliche zu berechnen Speichernutzung des Apache-Webservers, während Annahmen über die Speichernutzung anderer verfügbarer Anwendungen getroffen werden, die möglicherweise nicht korrekt sind.
Hinweis :Sie sollten diese Aussage von Apache2Buddy als informativ für das Worst-Case-Szenario betrachten. Möglicherweise müssen Sie weitere Nachforschungen anstellen, um Klarheit zu gewinnen. Weitere Informationen finden Sie unter folgendem Link:https://richardforth.github.io/apache2buddy_ag/.