GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden des Apache2Buddy-Skripts für Leistung und Stabilität

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/.


Linux
  1. Verwenden von nfsstat und nfsiostat zur Behebung von NFS-Leistungsproblemen unter Linux

  2. Verwenden von ssh-keygen und Sharing für die schlüsselbasierte Authentifizierung in Linux

  3. Was ist der Unterschied zwischen der Verwendung von „sh“ und „source“?

  4. Was ist der Grund für die Koexistenz von rmdir(1) und rm(1)?

  5. Verwenden eines Modems zum Senden von Sprachaufzeichnungen

Tipps zur Verwendung des Top-Befehls unter Linux

Best Practices für DNS für Sicherheit und Leistung

Das vollständige Handbuch zur Verwendung von ffmpeg unter Linux

Die 10 besten Linux-Web-Caches für eine bessere Leistung

Die 5 besten Linux-Distributionen für Entwickler und Programmierer

Schreiben und Debuggen von Linux-C++-Anwendungen aus Visual Studio mit dem Windows-Subsystem für Linux