|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : décembre 2003 Messages : 198 ![]() |
Bonjour.
N'ayant pas eu de retour sur le forum Performance Web (mauvais aiguillage ?), je tente ma chance sur le forum PHP, peut-être plus approprié. Je me suis monté une petite appli Web de gestion de comptes bancaires sur Apache 2.2.x, PHP 5 et MySQL 5. L'un des scripts doit afficher la liste des opérations. Il est possible de filtrer la liste via un formulaire composé, entre autres, de listes (liste des tiers, liste des moyens de paiement, liste des catégories...). Le problème que je rencontre depuis un certain temps est le suivant : le script se bloque de manière aléatoire lorsque je souhaite filtrer la liste, mais toujours au même endroit. Dit autrement, lorsque je veux filtrer pour n'afficher par exemple que les dépenses de santé, le script se bloque environ 3 fois sur 4. En revanche le blocage se fait à chaque fois au même niveau lors de la construction de la liste des tiers. Comme ce blocage est récent, non systématique et que le script n'a pas été changé depuis un moment, j'ai l'impression qu'il s'agit plus d'un problème de gestion des ressources que de qualité de la programmation ou des données. Est-ce que quelqu'un aurait une idée pour pousser l'investigation, voire carrément une solution ? |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : février 2009 Messages : 318 ![]() |
Bizarre
Y'a pas de message d’erreur? Sinon l'algo de trie est peux être erroné? Un bout de code? |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Omar Inscription : septembre 2010 Messages : 146 ![]() |
ça fait longtemps que j'ai rencontré ce genre de problèmes, je te conseille de revoir le code qui est à l'origine du blocage de votre script certainement à un instant ton serveur n'arrive pas à "comprendre" votre code c'est à dire votre code contient des instructions illogiques.
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 802 ![]() |
Afficher le niveau le plus bas d'erreur ? Tu seras à mon avis vite fixé...
Soit c'est un dépassement mémoire, soit un temps d'exécution trop long. |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Responsable de projet fonctionnel Inscription : mars 2006 Messages : 41 ![]() |
Personellement je voterai pour une boucle infinie...
|
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Omar Inscription : septembre 2010 Messages : 146 ![]() |
une durée d’exécution longue ou une boucle infinie je pense les deux mènent à la même chose: un message d'erreur indiquant que le temps d’exécution est dépassé alors il n'a pas signalé qu'il y a une erreur il a dit juste script bloque.
|
|
|
00
|
|
|
#7 | ||
|
Membre du Club
![]() Inscription : décembre 2003 Messages : 198 ![]() |
Ce n'est pas une boucle infinie : j'utilise le résultat d'une requête pour afficher la liste des tiers.
Code :
J'ai ajouté un tiers dans le début de la liste (triée alphabétiquement) et il en ressort que ça ne bloque pas sur un tiers en particulier mais sur le 227e. Autre précision : que ça se bloque ou pas, la requête SQL de récupération de la liste s'exécute toujours sans problème et m'indique toujours le même nombre de résultats, à savoir 576. Enfin, si je laisse mon navigateur attendre lorsque le script se bloque, il termine par une erreur "Bad request". Pour ce qui est du temps d'exécution hors plantage, la page se charge approximativement en 2 secondes sans aucun filtre et affiche un tableau de plus de 1250 lignes. |
||
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : décembre 2003 Messages : 198 ![]() |
Je ferme la discussion, ça ne bloque plus.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com