Suivi requête apache

Tout ce qui concerne la programmation.
Répondre
Avatar de l’utilisateur
Arnaud
Membre
Membre
Messages : 162
Inscription : 23 avr. 2016, 14:31
Localisation : Allemagne
Status : Hors-ligne

Bonjour,

Ayant quelques sites à monitorer sur plusieurs serveurs, j'aimerais pouvoir trouver l'origine du temps de réponse long de certains d'entre eux.
Quelques exemples :

Serveur 1 : j'y ai un horde 5 et owncloud qui tournent. Owncloud répond bien, mais horde 5 met 5s pour appeler son calendrier ( kronolith ).

Serveur 2 : joomla, wordpress, flyspray sont des cms installés ( parmi d'autres encore ). Joomla et flyspray répondent plutôt bien, mais wordpress met au moins 4s à s'afficher.

Serveur 3 : flyspray, nextcloud un site sous django. flyspray, nextcloud répondent bien. Lorsque je développe sous django ( python manage.py runserver 8888 ) le site de développement répond en moins d'une seconde, alors que le site en production ( via apache ) mets au moins 4s, bien que les deux partagent la même base de données.

Bref, comment faites-vous pour identifier le coupable dans ce genre de situations ? Le seul point commun de ces 3 serveurs ( parmi d'autres ) est l'utilisation d'apache. Je ne sais pas si c'est le coupable, ni comment optimiser les requêtes, ni si nginx ferait mieux, mais toute information est la bienvenue ;)
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4959
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
Je regarde en général la console développeur de Firefox.
Tu as une partie "Réseau" qui te permet de faire un diagnostic des temps de mise à disposition des pages, fichiers et scritps.
Évidemment c'est le côté client et non serveur mais c'est un début pour trouver des coupables à certaines lenteurs.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
Mimoza
Contributeur
Contributeur
Messages : 655
Inscription : 22 avr. 2016, 12:00
Localisation : Terre
Status : Hors-ligne

Oui la console du navigateur est une première piste pour identifier précisément la requête qui ralenti le tout.
Ensuite placer des logs/timestamp sur les fonctions sur le chemin critique. Mettre les logs au niveau debug sur toutes tes solutions et faire un ficher de logs par produit pour bien pister les requêtes.
Pour le delta entre ton site de dev et de prod je regarderais les connexion a la BDD, c'est souvent là que ça bloque. Genre en prod il ferme automatiquement toutes les connexion alors qu'en dev non …

Je ne sais pas si avec PHP tu as une console pour monitorer les process …
Avatar de l’utilisateur
Arnaud
Membre
Membre
Messages : 162
Inscription : 23 avr. 2016, 14:31
Localisation : Allemagne
Status : Hors-ligne

Par exemple dans le cas du calendrier de horde, kronolith, la console du navigateur fournit bien le détail du chargement des petits éléments, mais j'obtiens un 5,46s pour l'accès au dossier kronolith/, ce qui ne m'avance guère.
Je crois que je n'ai pas le choix, et qu'il faudra que j'augmente le niveau de logs partout pour suivre ça de près.
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Il te faudrait pouvoir analyser les échanges depuis le serveur et le client afin de déterminer si le problème vient du serveur et/ou du réseau et/ou du client.

wireshark est au technicien réseau ce que l'oscilloscope est pour l'électronicien.

Avec cet outil, on en apprends énormément sur le fonctionnement des protocoles réseau, ça plus la lecture des RFC, ça aide beaucoup,
Il faut beaucoup de temps et de méthode, mais l'investissement en vaut la peine.
Avatar de l’utilisateur
Arnaud
Membre
Membre
Messages : 162
Inscription : 23 avr. 2016, 14:31
Localisation : Allemagne
Status : Hors-ligne

Pas bête, je n'avais pas pensé à wireshark, alors que je l'utilise pour vérifier d'autres points ...
Merci pour l'idée, je vais essayer dans les prochains jours.
Répondre