Partage
  • Partager sur Facebook
  • Partager sur Twitter

Surcharge du CPU avec Apache2

29 août 2019 à 15:24:43

Bonjour, je viens vers vous n'ayant trouvé aucune solution seul. Depuis hier j'ai une hausse de trafic, je suis passé de 5-10 personnes en simultanés à plus de 50. À cause de ça, mon site ralenti beaucoup.

Serveur : 2 vCore(s) 8 Go of RAM (Version apache 2.4.10-10)

J'ai essayé de modifier ma config apache2.conf sans succès. 

Voici à quoi ressemble le résultat de la commande Uptime

 13:41:11 up 7:27, 5 users, load average: 14,13, 18,09, 14,87 

Et voici ce qu'affiche la commande Top

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  893 mysql     20   0 1363652 212360  10980 S  27,0  2,7 106:48.61 mysqld
17436 www-data  20   0  477552 167148  79464 R   6,3  2,1   0:14.31 apache2
17456 www-data  20   0  405680 158376  74856 R   6,3  2,0   0:17.52 apache2
17599 www-data  20   0  399448 150788  74004 R   6,3  1,9   0:06.63 apache2
17684 www-data  20   0  405440 157864  74856 R   6,3  2,0   0:06.68 apache2
17723 www-data  20   0  369536 118788  73336 R   6,3  1,5   0:02.06 apache2
17465 www-data  20   0  399276 150728  74260 R   6,0  1,9   0:14.86 apache2
17535 www-data  20   0  466516 155504  79272 R   6,0  1,9   0:08.83 apache2
17558 www-data  20   0  477704 165316  77800 R   6,0  2,1   0:10.99 apache2
17586 www-data  20   0  409388 161872  74792 R   6,0  2,0   0:11.70 apache2
17593 www-data  20   0  408564 160768  74984 R   6,0  2,0   0:06.34 apache2
17598 www-data  20   0  456828 144712  77608 R   6,0  1,8   0:09.27 apache2
17606 www-data  20   0  398668 150492  74260 R   6,0  1,9   0:09.13 apache2
17608 www-data  20   0  367752 118480  74364 R   6,0  1,5   0:08.93 apache2
17656 www-data  20   0  473740 162124  78844 R   6,0  2,0   0:05.93 apache2
17736 www-data  20   0  409124 161336  74856 R   6,0  2,0   0:03.86 apache2
17738 www-data  20   0  361384 112616  74004 R   6,0  1,4   0:03.32 apache2
17740 www-data  20   0  358032 109348  73484 R   6,0  1,4   0:02.23 apache2
17742 www-data  20   0  377680 127984  73980 R   6,0  1,6   0:03.50 apache2
17743 www-data  20   0  408676 159260  72872 R   6,0  2,0   0:03.62 apache2
17547 www-data  20   0  361852 113684  74536 R   5,7  1,4   0:09.84 apache2
17597 www-data  20   0  398880 152248  78876 R   5,7  1,9   0:07.60 apache2
17678 www-data  20   0  383840 135688  74004 R   5,7  1,7   0:06.44 apache2
17711 www-data  20   0  439568 127736  79464 R   5,7  1,6   0:05.99 apache2
17739 www-data  20   0  360296 111604  73480 R   5,7  1,4   0:02.00 apache2
17741 www-data  20   0  439860 126100  77416 R   5,7  1,6   0:03.70 apache2
17595 www-data  20   0  452868 142472  79336 R   5,3  1,8   0:09.14 apache2
17721 www-data  20   0  355836 107224  73864 R   5,0  1,3   0:03.37 apache2
17481 www-data  20   0  383924 136096  74336 R   4,7  1,7   0:12.95 apache2
17679 www-data  20   0  389220 139456  72404 R   3,0  1,7   0:03.72 apache2
17766 www-data  20   0  377868 129428  74004 S   2,7  1,6   0:03.13 apache2
17401 www-data  20   0  358616 113196  78812 S   1,3  1,4   0:20.72 apache2
    7 root      20   0       0      0      0 S   0,3  0,0   0:31.58 rcu_sched
  194 root      20   0       0      0      0 S   0,3  0,0   0:07.05 vballoon
17594 www-data  20   0  360548 112392  74004 S   0,3  1,4   0:08.82 apache2

Merci d'avance pour votre aide ! 

-
Edité par baptisteboisset 29 août 2019 à 15:25:26

  • Partager sur Facebook
  • Partager sur Twitter
2 septembre 2019 à 10:45:46

Salut,

Il faudrait dans un premier temps vérifier si les connexions à ton site sont légitimes, voir tu n'es pas en train de te faire bruteforcer. Pour ça tu peux regarder dans les logs de ton site (normalement le fichier "access_log", après ça dépend de ta configuration) si une IP en particulier de revient pas plus que les autres. Tu peux copier ici un extrait des logs si tu as besoin d'aide pour l'analyse.

Si c'est le cas il faudra voir pour sécuriser ton Apache à l'aide de modules (mod_security par exemple) et/ou de Fail2ban par exemple : https://fr-wiki.ikoula.com/fr/Mettre_en_place_fail2ban_sur_Debian

Ton Mysql consomme pas mal également, vérifie que tu fermes bien toutes les connexions dans ton code. Tu peux consulter les requêtes en cours à l'aide de la requête "Show processlist;".

Tu peux aussi t'aider d'un Mysql Tuner qui te dira comment optimiser ton Mysql : https://www.geeek.org/mysqltuner-outil-optimisation-mysql-155/

Avec ça tu devrais déjà y voir un peu plus clair et savoir s'il s'agit d'un réel problème ou d'un souci d'optimisation.

  • Partager sur Facebook
  • Partager sur Twitter

Thomas | Community manager | ikoula Serveurs dédiés, VPS et Cloud Public