[Resolut] lenteur sur la suppression du dernier produit |
Bienvenue invité ( Connexion | Inscription )
[Resolut] lenteur sur la suppression du dernier produit |
2 Feb 2012, 10:09
Message
#1
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 343 Inscrit : 27-February 08 Lieu : lune Membre no 20966 |
Bonjour a tous.
Voila j'ai un soucis depuis longtemp qui me tracasse. Avant toute chose, j'ai fais un recherche et je n'est pas trouver de sujet équvalent. Ma boutique est un base Osc-2.2-ms2-FR avec des évo vers la 2.3. Voila lorsque l'on supprime depuis la page panier le dernier produit, pour le vider totalement, cette étape prend énorment de temps. J'ai penser a genre un 301 qui tourne en rond, mais non. c'est sur la fonction Code $cart->remove($_GET['products_id']); du dernier produit qui créer un probleme. Est un soucis connu, répértorier pour lequel quelqun aurais une solution. Suis je le seul? Merci a vous Ce message a été modifié par gotcha5832 - 4 Feb 2012, 12:14. -------------------- Osc-2.2-ms2-FR
Os : Linux 2.6.24.7-desktop-2mnb Version PHP : 5.2.5 (Zend : 2.2.0) Base de données : MySQL 5.0.51a Serveur HTTP : Apache/2.2.8 (Mandriva Linux/PREFORK-6.1mdv2008.1) |
|
2 Feb 2012, 17:19
Message
#2
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
dans quel état est la table session (car c'est là que sont enregistrés les paniers)
poids ? nbre de lignes ? de plus dans ta signature, tu écris : 10- et pas mal de contrib maison.... donc seul toi connais les modifications apportées au script. |
|
2 Feb 2012, 17:19
Message
#3
|
|
Ceinture noire OSC Groupe : TechDev Messages : 2757 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
Bonjour
Mes essais sur version 2.3.1 vierge (en local) ne m'ont pas convaincu. Le dernier met aussi longtemps que les autres à être effacé. D'ailleurs le code montre que la tâche est la même, en 2.2 comme en 2.3.1 sauf que l'approche est différente en 2.2 et en 2.3.1:
Une Belle Journée ! Chti poupon Ce message a été modifié par chti_poupon - 2 Feb 2012, 17:25. |
|
2 Feb 2012, 17:36
Message
#4
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
mais on perd n-1 calculs de la page : sans cache, c'est plus long - toutes choses égales par ailleurs - , mais on n'est pas là pour vider les panier, mais les faire remplir...! attention ! le cache sur oscommerce 2.2.x et 2.3.x est mis en place pour gérer des requêtes gourmandes sur des pages communes à la boutique. La page shopping_cart n'a rien de commune, elle est au contraire propre à chaque visiteur. quand aux tests dit 'local', en aucune façon, doit être une référence dans l'analyse. et pour cause, votre système d'exploitation fait une multitude de choses en même temps, contrairement à des serveurs distants, qui ont un nombre de tâches bien plus limitées et spécifiques, chez vos hébergeurs.(mutu/vps ou dédiés) |
|
2 Feb 2012, 18:04
Message
#5
|
|
5eme dan OSC Groupe : Administrateur Messages : 9221 Inscrit : 4-March 03 Lieu : Pau Membre no 927 |
Il y a aussi une possibilité qui m'a valu quelques heures de recherche un jour :
si une requête a été modifiée et qu'on appelle une table sans appeler de champ : exemple "select p.products_id from products p, manufacturer m where p.products_model = '123456' " on ouvre la table manufacturers mais on y cherche rien dedans. Le moteur sql va donc balayer toute la table bêtement. ça peut causer un temps de fonctionnement particulièrement désastreux surtout si la table est volumineuse. -------------------- Tout d'abord : - Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)
Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloper Le gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
3 Feb 2012, 05:30
Message
#6
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 343 Inscrit : 27-February 08 Lieu : lune Membre no 20966 |
dans quel état est la table session (car c'est là que sont enregistrés les paniers) poids ? nbre de lignes ? de plus dans ta signature, tu écris : 10- et pas mal de contrib maison.... donc seul toi connais les modifications apportées au script. Je parle sur une table de session vide. Pour les contrib maison je suis effectivement le seul a pourvoir savoir, mais je ne vois aucune de mes modif qui pourrais interférer d'ou ma question de savoir si le probleme est natif ou non. Bonjour Mes essais sur version 2.3.1 vierge (en local) ne m'ont pas convaincu. Le dernier met aussi longtemps que les autres à être effacé. D'ailleurs le code montre que la tâche est la même, en 2.2 comme en 2.3.1 sauf que l'approche est différente en 2.2 et en 2.3.1:
Une Belle Journée ! Chti poupon Merci Il y a aussi une possibilité qui m'a valu quelques heures de recherche un jour : si une requête a été modifiée et qu'on appelle une table sans appeler de champ : exemple "select p.products_id from products p, manufacturer m where p.products_model = '123456' " on ouvre la table manufacturers mais on y cherche rien dedans. Le moteur sql va donc balayer toute la table bêtement. ça peut causer un temps de fonctionnement particulièrement désastreux surtout si la table est volumineuse. Merci, mais je vois pas a quel moment il pourrais ce passser cela danss le probleme présent. -------------------- Osc-2.2-ms2-FR
Os : Linux 2.6.24.7-desktop-2mnb Version PHP : 5.2.5 (Zend : 2.2.0) Base de données : MySQL 5.0.51a Serveur HTTP : Apache/2.2.8 (Mandriva Linux/PREFORK-6.1mdv2008.1) |
|
3 Feb 2012, 09:35
Message
#7
|
|
5eme dan OSC Groupe : Administrateur Messages : 9221 Inscrit : 4-March 03 Lieu : Pau Membre no 927 |
Merci, mais je vois pas a quel moment il pourrais ce passser cela danss le probleme présent. - Dans la classe Shopping cart qui aurait été modifiée de travers - dans la page shopping_cart.php modifiée par une contrib où une requête chercherait inutilement dans une table non nécessaire, - dans application_top.php, là encore une requête modifiée pourrait tourner en rond si le panier est vide... - et dans beaucoup d'autres scripts qui sont appelés lors de l'affichage du panier C'est toi qui possède les outils de débogage, pas nous. Tu as à ta disposition les logs PHP et Apache qui peuvent te donner de bonnes pistes sur la cause du problème ainsi qu'un outil de debug qui est directement activable depuis l'admin : configuration > logging Avec une toute petite modif dans la functions/database.php tu peux marquer le timing de chaque requête et ainsi avoir plus de détails sur ce qui ne tourne pas : Code function tep_db_query($query, $link = 'db_link') { global $$link; // ajout des seconndes et msecondes en début de ligne de debug list($usec, $sec) = explode(" ", microtime()); $m_time = ((float)$usec + (float)$sec); $m_time = substr($m_time,8,5)." : "; if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) { @error_log($m_time.'QUERY ' . $query . "\n", 3, STORE_PAGE_PARSE_TIME_LOG); } $result = mysql_query($query, $$link) or tep_db_error($query, mysql_errno(), mysql_error()); if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) { $result_error = mysql_error(); @error_log($m_time.'RESULT ' . $result . ' ' . $result_error . "\n", 3, STORE_PAGE_PARSE_TIME_LOG); } return $result; } Bien sur il faut activer les logs et le log de temps d'exécution ainsi que désigner un fichier cible... mais ça c'est élémentaire. Si avec tout ça tu ne trouves pas la cause de ce ralentissement... -------------------- Tout d'abord : - Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)
Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloper Le gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
3 Feb 2012, 12:49
Message
#8
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 343 Inscrit : 27-February 08 Lieu : lune Membre no 20966 |
Je te remercie vieux sage.
Effectivement je vais faire ca, et du coté de toute tes piste donnés -------------------- Osc-2.2-ms2-FR
Os : Linux 2.6.24.7-desktop-2mnb Version PHP : 5.2.5 (Zend : 2.2.0) Base de données : MySQL 5.0.51a Serveur HTTP : Apache/2.2.8 (Mandriva Linux/PREFORK-6.1mdv2008.1) |
|
4 Feb 2012, 12:16
Message
#9
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 343 Inscrit : 27-February 08 Lieu : lune Membre no 20966 |
Ca y est apres pas mal de recherche j'ai trouvé.
Une simple requete sql qui tournais en rond. Merci A vous -------------------- Osc-2.2-ms2-FR
Os : Linux 2.6.24.7-desktop-2mnb Version PHP : 5.2.5 (Zend : 2.2.0) Base de données : MySQL 5.0.51a Serveur HTTP : Apache/2.2.8 (Mandriva Linux/PREFORK-6.1mdv2008.1) |
|
6 Nov 2012, 19:21
Message
#10
|
|
Ceinture blanche+ OSC Groupe : Membres Messages : 20 Inscrit : 25-December 07 Membre no 20188 |
Tu as à ta disposition les logs PHP et Apache qui peuvent te donner de bonnes pistes sur la cause du problème ainsi qu'un outil de debug qui est directement activable depuis l'admin : configuration > logging (...) Bien sur il faut activer les logs et le log de temps d'exécution ainsi que désigner un fichier cible... mais ça c'est élémentaire. Si avec tout ça tu ne trouves pas la cause de ce ralentissement... Gnidhal Merci beaucoup... Vous êtes mon nouveau dieu ! Ca doit faire 6 mois que je me tire les cheveux parce que mon admin est "lent"... Le Logging m'a permis de voir que dans le Header de l'admin, j'avais plein de requêtes qui se lancait (alors que je n'étais même pas encore connecté) !! Le fautif : QtPro qui te lance le doctor dans le header donc quand tu as bcp de produit, ça prend bcp de temps ! Merci encore |
|
Version bas débit | Nous sommes le : 28th March 2024 - 14:49 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |