|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 296 ![]() |
Bonjour,
J'ai un soucis depuis plusieurs jours que je n'arrive pas à résoudre. J'ai une interface Web PHP qui attaque une base de données MySQL. Auparavant , quand cette base web était en MyISAM tout fonctionnait bien mais depuis que nous avons basculé sur une base innodb (même structure / données car dump de la MyISAM), j'ai le problème suivant : Lorsqu'une requête exécutée à partir de l'interface WEB PHP dépasse les 60 secondes, j'ai une FATAL Error me disant "MySQL Server has gone away". J'ai essayé de résoudre le problème en augmentant les valeurs de mysql.connect_timeout et default_socket_timeout dans le PHP.INI mais rien n'y fait. Au niveau du serveur MySQL, j'ai bien un wait_timeout de 8 heures et un interactive_timeout de 8 heures. Pour info, j'ai fixé un set_time_limit à plusieurs minutes pour mon script PHP. Je n'ai pas touché au paramètre MySQL max_allowed_packet car mon script PHP appelle une procédure stockée MySQL donc très peu de données envoyées au serveur MySQL. Je suis un peu à court d'idées maintenant Merci d'avance! |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
c'est possible que la requete fasse planter le serveur, t'as regarde les logs Mysql voir le serveur s'est éteint ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 |
![]() ![]() |
60 secondes pour une requête ? Je ne voudrais pas être à la place de l'utilisateur qui attend l'affichage des données sur la page web !
Il faudrait peut-être voir si la requête est optimisée et si le schéma de la BDD est normalisé. On peut voir la requête qui dure aussi longtemps et la structure des tables impliquées ainsi que le nombre de leurs lignes ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 296 ![]() |
Mer'ci pour vos réponses.
Effectivement, une requête ne devrait pas prendre autant de temps mais ce sont des reporting qui nécessitent pas mal de temps à s'exécuter (les requêtes ont déjà été pas mal optimisées). |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
et donc quid des logs ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 296 ![]() |
Rien dans les logs de MySQL.
|
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
t'as bien configuer les logs (idem pour les slow queries)
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 296 ![]() |
yes.
|
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
si le serveur te met se message la, t'as forcement des logs de déconnexion, montre un bout de tes logs
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#10 |
![]() ![]() |
Si tu le dis...
Quelle masse de données est traitée par cette requête ? Combien de millions de lignes ? Les tables sont-elles correctement indexées ? Le serveur est-il correctement dimensionné ? Bref, sans plus d'informations, on ne peut pas t'aider.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 296 ![]() |
Là c'est surtout le problème de problème de timeout qu'il faut que je résolve au plus vite, problème que je n'avais pas il y a quelques jour sur la myISAM.
Pour l'optimisation des requêtes, il y a sûrement du travail à faire mais je dois dire que ma priorité première est de rétablir le service. |
|
|
00
|
|
|
#12 |
![]() ![]() |
Et si l'optimisation de la requête qui plante résolvait du même coup ton problème de "server has gone away" ?
Si la requête ne s'exécute pas en 60 secondes mais ne serait-ce que 10 fois moins, le serveur n'aura pas le temps de s'en aller boire un café !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#13 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
tu veux toujours pas montrer tes logs ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#14 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 296 ![]() |
Si j'ai demandé à mon admin... j'attends...
|
|
|
00
|
|
|
#15 |
![]() ![]() |
Et la requête qui pose problème, tu dois aussi la demander à ton admin ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#16 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 296 ![]() |
Non pas besoin, je l'ai mais c'est une procédure stockée assez complexe avec des connaissance fonctionnelles pour la comprendre.
J'essaierai de la ré optimiser... mais comme ça peut prendre du temps et que le problème du timeout de connexion est bloquant, c'est l'urgence. Pour info, presque toutes les procédures stockées sont concernées. |
|
|
00
|
|
|
#17 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 296 ![]() |
Je viens d'avoir accès au log de MySQL.
Rien de spécial dedans. Aucune trace dans la log aux moments des "MySQL Server has gone away". |
|
|
00
|
|
|
#18 | ||
|
Nouveau Membre du Club
![]() Aurélien LEQUOY Inscription : février 2011 Messages : 33 ![]() |
Citation:
Citation:
Je dirais peux importe le fonctionnel étant donné que ton problème semble être purement techniques si tout était ok avec MyISAM. quiz : temps de traitement avec MyISAM ? |
||
|
|
00
|
|
|
#19 | |||
|
Membre habitué
![]() Inscription : juin 2004 Messages : 296 ![]() |
Merci pour ta réponse.
Citation:
Citation:
Citation:
|
|||
|
|
00
|
|
|
#20 |
![]() ![]() |
Ton problème était urgent le 5 octobre. Nous sommes le 12 et il ne semble toujours pas résolu.
Tu aurais peut-être eu le temps, durant cette semaine, de nous poster un exemple de procédure qui pose problème et nous aurions peut-être pu t'aider à l'optimiser.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
10
|
Copyright © 2000-2012 - www.developpez.com