GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation du script Apache2Buddy pour les performances et la stabilité

Qu'est-ce qu'Apache2Buddy ?

Utilisez le script Apache2Buddy pour aider à faire des recommandations pour les modifications de la configuration du serveur Web Apache® qui améliorent les performances et la stabilité. Apache2Buddy n'a aucun impact sur le serveur lui-même et n'apporte aucune modification. Une fois le script exécuté, il suggère des correctifs Apache que vous pouvez examiner et envisager d'appliquer.

Apache2Buddy vérifie au moins les domaines de préoccupation suivants :

  • Limites de mémoire PHP®
  • Memcache
  • Max Clients
  • Utilisation de la mémoire
  • Utilisation potentielle maximale de la mémoire
  • Pourcentage de la RAM totale allouée à Apache
  • MaxRequestWorkers

Exécuter Apache2Buddy

Exécutez la commande suivante pour lancer le script à partir d'une ligne de commande Linux® :

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

Une fois le script Apache2Buddy terminé, il renvoie quelque chose de similaire à la sortie suivante :

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  %
--------------------------------------------------------------------------------

Examiner les résultats

Vous pouvez également voir une sortie du script Apache2Buddy similaire à l'exemple suivant :

 [ !! ] 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

Vous devez savoir que cette déclaration fait les hypothèses suivantes :

  • Suivre le processus Apache moyen :Tous les processus Apache ne sont pas de taille moyenne. Certains processus peuvent être plus grands ou plus petits.
  • Sans tenir compte des services :Apache2Buddyy tente de calculer l'utilisation possible de la mémoire du serveur Web Apache. Il ne considère pas que la mémoire disponible est également utilisée pour d'autres applications telles que PHP, MariaDB® et le système d'exploitation lui-même.
  • Envisager des services supplémentaires :Apache2Buddy tente de calculer le possible l'utilisation de la mémoire du serveur Web Apache tout en faisant des hypothèses sur l'utilisation de la mémoire des autres applications disponibles, ce qui pourrait ne pas être correct.

Remarque :Vous devez considérer cette déclaration fournie par Apache2Buddy comme une information concernant le scénario le plus défavorable. Vous devrez peut-être enquêter davantage pour obtenir des éclaircissements. Pour plus d'informations, consultez le lien suivant :https://richardforth.github.io/apache2buddy_ag/.


Linux
  1. Qu'est-ce qu'une Rolling Release Linux et quel est le véritable avantage de l'utiliser

  2. Utilisation de nfsstat et nfsiostat pour résoudre les problèmes de performances NFS sous Linux

  3. Utilisation de ssh-keygen et partage pour l'authentification par clé sous Linux

  4. Concevoir et construire des serveurs cloud pour la stabilité

  5. 24 Exemples iostat, vmstat et mpstat pour la surveillance des performances Linux

Conseils pour utiliser la commande top sous Linux

Meilleures pratiques DNS pour la sécurité et les performances

Le guide complet d'utilisation de ffmpeg sous Linux

Les 10 meilleurs caches Web Linux pour de meilleures performances

Les 5 meilleures distributions Linux pour les développeurs et les programmeurs

Écriture et débogage d'applications Linux C++ à partir de Visual Studio à l'aide du sous-système Windows pour Linux