Maison > Tutoriel système > Linux > le corps du texte

Enregistrez une fois et utilisez strace pour diagnostiquer le problème de PHP occupant trop de ressources système.

WBOY
Libérer: 2024-05-03 16:31:14
avant
920 Les gens l'ont consulté

Environnement local : système redhat6.7. nginx1.12.1, php7.1.0, le code utilise le framework yii2

Question : Le site Web local doit utiliser le service elasticsearch. Lorsque PHP utilise elasticsearch construit sur un serveur local, la charge locale est normale. Lorsque j'utilise le service elasticsearch d'AWS, la charge sur le serveur local est souvent trop élevée. Vérifiez les journaux nginx et php et ne trouvez aucune exception. Le nombre de connexions simultanées dans le système n’est pas non plus élevé. À ce moment-là, j'ai pensé à un outil de diagnostic strace que notre patron m'a présenté.

Processus de débogage :

  • Trouver un identifiant de processus enfant php
  • strace -cp pid trace les appels de processus

Charge du système à ce moment-là :

Enregistrez une fois et utilisez strace pour diagnostiquer le problème de PHP occupant trop de ressources système.

processus de débogage des traces

Enregistrez une fois et utilisez strace pour diagnostiquer le problème de PHP occupant trop de ressources système.

Ici, j'ai découvert que lorsque php appelle elasticsearch, il recherchera un fichier localement, et ce fichier n'existe pas. Cela entraîne une charge élevée du serveur. En comparant la différence entre AWS ElasticSearch et le cluster es local. J'ai trouvé que seule la méthode d'appel était différente. Le code est appelé à l'aide de la méthode https, il recherchera donc le fichier de bibliothèque de certificats localement. J'ai immédiatement contacté l'équipe de développement et changé la méthode d'appel en http Après avoir observé pendant un certain temps, la charge du serveur est revenue à la normale.

strace -T -e access -p 1379
Copier après la connexion

Enregistrez une fois et utilisez strace pour diagnostiquer le problème de PHP occupant trop de ressources système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:linuxprobe.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!