|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Développeur Web Inscription : juin 2003 Messages : 89 ![]() |
Bonjour,
J'ai par moment de gros ralentissement sur mon serveur. Mon serveur est un serveur dédié PHP/MySQL qui contient 4/5 sites de tailles moyennes avec une fréquentation faible. Pourtant par moment le serveur rame. J'ai vérifié chacun de mes différentes pages en indiquant bien mysql_close() en fin de chacune afin de fermer la connexion mais il semble qu'il y ait toujours quelques lenteurs par moment. Avant cette modif mon hébergeur m'indiquait que 4.000 tables étaient ouvertes. Je pense que ma modification apportée devrait réduire cela mais pas totalement. Auriez-vous des outils me permettant de savoir quels sont les pages qui déconnent ? Merci d'avance pour votre aide |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : avril 2004 Messages : 734 ![]() |
Bonjour,
Sur quoi se base l'hébergeur pour donner ce nombre de table. à un instant t, combien de connection sont en cours sur le serveur MySQL ?
__________________
Pensez au tag
|
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Développeur Web Inscription : juin 2003 Messages : 89 ![]() |
Je ne sais pas, c'est tout ce qu'il m'a indiqué.
Existe-il un moyen de savoir quelles sont les raisons d'un ralentissement sur un serveur ? |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : février 2006 Messages : 953 ![]() |
Il y a le 'log-slow-queries' (http://dev.mysql.com/doc/refman/5.0/...query-log.html) qui peut être utile mais ça suppose d'avoir accès à mysql.
Le plus efficace serait peut-être d'installer un mysql en local en activant les logs (le 'log-slow-queries' avec un long_query_time assez faible et le 'log' des requêtes aussi) et un serveur PHP le tout avec une configuration la plus proche du serveur de production possible (en utilisant un dump de la BDD entre autre). Et ensuite faire une session standard et éplucher les logs : trouver les requêtes longues et/ou trop nombreuses, suivre les accès disques, la charge cpu entre BDD et PHP, etc. L'hébergeur a peut-être utilisé "show global status like '%tables%';". Il faudrait voir la doc pour le sens excact des variables. Il serait intéressant de les suivre lors des tests en local pour voir ce que consomme une session. Sinon établir des connections a un cout. Et en ouvrir et fermer une pour chaque page n'est peut-être pas idéal. Enfin à supposer qu'il n'y ait pas une requête qui rame vraiment quelque part (genre pas d'index sur une table avec beaucoup de données). Autre point à regarder, le type des tables (myisam/innodb), la ram de la machine et la partie qui en est donnée à MySQL. |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Développeur Web Inscription : juin 2003 Messages : 89 ![]() |
Mon hébergeur m'a envoyé le fichier de log des requêtes SQL, mais je ne sais pas comment l'analyser.
Ce qui est étrange c'est que le chargement de ces pages mettent du temps alors que lorsque j'affiche le temps d'exécution des pages, le chiffre est bas (autour de 1sec en général). Je sais pas du tout comment trouver les causes de ces ralentissements. Sur ce serveur j'ai 4-5 qui drainent environ 100 visiteurs par jour chacun (ce qui est donc très faible). Le serveur est équipé de 2go de RAM. Merci pour votre aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com