Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
18 Mar 2008, 20:34
Message
#1
|
|
|
Ceinture orange OSC Groupe : Membres Messages : 215 Inscrit : 25-October 05 Lieu : Boulogne sur mer (62) Membre no 7623 |
Bonjour,
Je viens vers vous aujourd'hui pour connaitre vos differents avis, différentes solutions pour diminuer la taille de ma base de donnée. Merci de votre aide ! -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR.
|
|
|
18 Mar 2008, 20:43
Message
#2
|
|
|
Ceinture orange OSC Groupe : Membres Messages : 215 Inscrit : 25-October 05 Lieu : Boulogne sur mer (62) Membre no 7623 |
CITATION(leirisset @ 18 Mar 2008, 14:39) [snapback]274176[/snapback] La première solution est déjà de supprimer les tables qui correspondent à des contributions que tu as installé mais que tu n'as pas gardé, donc ces tables sont inutiles. C'est déjà fait Est ce que supprimer tous les comptes de ceux et celles qui ne se sont plus connectés depuis 2 ans pourrait faire gagner de la place ? -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR.
|
|
|
18 Mar 2008, 20:55
Message
#3
|
|
|
Ceinture orange OSC Groupe : Membres Messages : 215 Inscrit : 25-October 05 Lieu : Boulogne sur mer (62) Membre no 7623 |
CITATION(leirisset @ 18 Mar 2008, 14:51) [snapback]274178[/snapback] souscrire à une offre supérieure chez ton hébergeur. Offre supérieure chez OVh pour avoir 100 Mo de plus .. c'est 70€..pas énorme mais j'optimise d'abord.. en faisant le menage aujourd'hui.. je n'aurais plus a le faire demain.. Mais il est clair que je devrais y passer assez rapidement. -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR.
|
|
|
19 Mar 2008, 00:44
Message
#4
|
|
|
2eme dan OSC Groupe : Bannis Messages : 3022 Inscrit : 12-November 07 Lieu : Massilia Membre no 19718 |
Tu as vidé ta table "sessions" ?
les résidus de shopping_cart ? (je n'ai pas la table en tête) Dans ce cas (un cleanup), la base risque de conserver la même taille mais de ne plus grossir. |
|
|
19 Mar 2008, 07:40
Message
#5
|
|
|
Ceinture orange OSC Groupe : Membres Messages : 215 Inscrit : 25-October 05 Lieu : Boulogne sur mer (62) Membre no 7623 |
Il n'y a aucun risque a vider la table session ? j'ai tellement eu de soucis de session que lorsque je vois ecris session.. je me sauve direct !!
Et supprimer les "residus" de shopping cart .. cela ne devrait il pas supprimer le panier que mes clients ont en mémoire ? Je pense bien que si.. Non ? -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR.
|
|
|
19 Mar 2008, 09:48
Message
#6
|
|
![]() Ceinture noire OSC Groupe : Membres Messages : 2871 Inscrit : 27-June 07 Lieu : Elancourt (78) Membre no 18127 |
Bonjour,
Pour faire de l'auto-user-maintenance (toujours un mot de mon cru...), j'avais lu un truc sur un site php, le type mettait dans ce qui correspondrait pour OsC à la page index.php (pas la page header.php, car elle fait dèjà pas mal de requêtes, donc sur la première page du site, qui est appelée au moins une fois par jour, enfin j'espère pour toi...), une requête qui effaçait les entrées vieilles de plus de deux jours dans sa table "session", plus d'autres tables qui stockent des données temporaires. Pas con du tout, c'est le visiteur qui fait la maintenance de son site juste en le visitant... Bien sûr, tu perds en temps d'affichage du coup... enfin tu peux te débrouiller pour réduire au maximum la requête, mais son efficacité aussi. Faut trouver le juste milieu... CITATION Il n'y a aucun risque a vider la table session ? Bah non, enfin pas celles de plus deux jours, tu connnais des gens connectés h24 sur ton site ?? Enfin tu peux adapter le temps bien sûr, mettre supérieures à une semaine, un mois etc... [BoEDIT] mieux, tu enregistres tes sessions dans un dossier au lieu de la BDD, tu fais une visite sur ton site pour vérifier que ça fonctionne puis tu la vide définitivement [EoEDIT]CITATION Et supprimer les "residus" de shopping cart .. cela ne devrait il pas supprimer le panier que mes clients ont en mémoire ? Je pense bien que si.. Non ? Bah si bien sûr (enfin si ce que tu nommes "résidus de..." c'est les tables customers_basket et customers_basket_attributes).Si tu ne gères pas les stats sur les bannières, tu peux vider complètement banners_history. Si tu mets en cache dans la base, de temps en temps tu peux vider la table cache, mais elle reprendra une taille identique ou presque aux prochaines visites. Tu peux vider specials si tu ne fait pas de promo en ce moment. La table whos_online, de plus de deux jours par exemple (enfin si ça ne te dérange pas de perdre l'historique de tes connectés). Enfin, le mieux c'est de regarder les tables que tu n'utilises pas ou dont les infos ne te sont pas essentielles (comme par exemple toutes les tables orders si tu réenregistres tes commandes dans un ERP ou une Ges Co et que tu te fous de l'historique des commandes sur ton site... euh le fait pas, quoi... c'est un exemple très conditionnel) et de les vider soit manuellement, soit par requêtes dans une page comme décrit plus haut. -------------------- "Les solutions existent toujours depuis longtemps, il suffit de les trouver."
|
|
|
19 Mar 2008, 10:18
Message
#7
|
|
|
5eme dan OSC Groupe : Administrateur Messages : 14910 Inscrit : 22-November 02 Membre no 610 |
30Mo me parait énorme.
tu as beaucoup d'articles? beaucoup de clients? la boutique fonctionne depuis longtemps? tu as regardé quelle(s) table(s) etai(en)t excessivement grosse(s)? -------------------- Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions |
|
|
19 Mar 2008, 12:37
Message
#8
|
|
|
Ceinture orange OSC Groupe : Membres Messages : 215 Inscrit : 25-October 05 Lieu : Boulogne sur mer (62) Membre no 7623 |
30Mo me parait énorme. Moi aussi ca me parait énorme !
tu as beaucoup d'articles? 280 beaucoup de clients? 6000 .. j'ai commencé a supprimer ceux de 2005 qui n'ont plus passé commande, ou qui ne se sont plus reconnecté depuis.. la boutique fonctionne depuis longtemps? depuis janvier 2005 tu as regardé quelle(s) table(s) etai(en)t excessivement grosse(s)? adress_book 1.5Mio Orders 1.9Mo Orders_products 1.9 Mio Sessions 1.1Mio Visitors 47 Mio !!! j'vais m'occuper de celle la.. elle est passé à la trappe ! Je ferais un petit " edit " pour completer et repondre a cette question.. Ce message a été modifié par petitben62 - 19 Mar 2008, 13:00. -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR.
|
|
|
19 Mar 2008, 13:20
Message
#9
|
|
|
5eme dan OSC Groupe : Administrateur Messages : 14910 Inscrit : 22-November 02 Membre no 610 |
la table 'visitors' n'existe pas dans une MS2 de base, elle vient d'une contribution...
la table clients ne devrait pas être très lourde, ça ne me semble pas indispensable de la nettoyer. Si tu le fais, alors fais le proprement en nettoyant aussi les tables liées (adress_book, customer_info, _baskets, baskets_attributs...). Le plus sûr pour ne rien oublier, même si c'est fastidieux, est de le faire via l'admin osc N'hésite pas à vider ET optimiser la table session (elle peut gonfler vite en "pertes"), tu peux aussi optimiser toutes les tables qui en ont besoin pour info, ma boutique avec 800 produits et 4800 clients fait 12.5Mo, sans l'avoir optimisée depuis un moment. Pour qu'elle ne gonfle inutilement, j'ai quelques cron qui tournent dessus, notamment pour vider les paniers non validés après 1 mois et je n'ai pas de soucis avec la table sessions qui ne se viderait pas automatiquement comme chez certains... Bon code -------------------- Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions |
|
|
19 Mar 2008, 15:18
Message
#10
|
|
![]() Ceinture noire OSC Groupe : Membres Messages : 2871 Inscrit : 27-June 07 Lieu : Elancourt (78) Membre no 18127 |
Non mais j'ai pas mis ça en place, c'était un truc que j'ai lu quelque part qui me paraissait pas con, mais qui augmente forcément le temps d'affichage de la page. Donc pas forcément à faire, mais dans le cas de ptitben62, qui va saturer en place, un truc auto paraissait bien alors... j'ai posté, c'est une idée, si ça peut inspirer...
Mais le truc des cron c'est bien aussi (voir mieux en fait pour éviter des requêtes). C'est quoi cette contrib' de fou qui fait des tables (la page qui requête cette table, elle doit ramer...) de "47 Mio" ? Et Xaglo, qu'entend tu par: CITATION ET optimiser la table session (elle peut gonfler vite en "pertes"), Ca m'intéresse tout ce qui touche à l'optimisation...Tu voudrais dire ne pas enregistrer dans la session certaines données inutiles pour ton site ? Rappelons, pour comprendre ce que je veux dire, le contenu d'une ligne dans la table session: sesskey 203822a35c819c7e779120b5033a9f6e expiry 1155999490 value cart|O:12:"shoppingCart":5:{s:8:"contents";a:0:{}s:5:"total";i:0;s:6:"weight";i:0;s:6:"cartID";N;s:12:"content_type";b:0;}language|s:6:"french";languages_id|s:1:"4";currency|s:3:"EUR";navigation|O:17:"navigationHistory":2:{s:4:"path";a:2:{i:0;a:4:{s:4:"page";s:9:"index.php";s:4:"mode";s:6:"NONSSL";s:3:"get";a:0:{}s:4:"post";a:0:{}}i:1;a:4:{s:4:"page";s:9:"index.php";s:4:"mode";s:6:"NONSSL"; s:3:"get";a:2:{s:5:"cPath";s:1:"1";s:6:"osCsid";s:32:"203822a35c819c7e779120b5033a9f6e";}s:4:"post";a:0:{}}}s:8:"snapshot";a:0:{}} Et que le contenu de value change beaucoup suivant ce que vous avez fait sur le site lors de cette session, voir celle-ci: cart|O:12:"shoppingcart":4:{s:8:"contents";a:1:{i:28;a:1:{s:3:"qty";s:1:"1";}}s:5:"total";i:0;s:6:"weight";i:0;s:12:"content_type";b:0;}language|s:6:"french";languages_id|s:1:"4";currency|s:3:"EUR";navigation|O:17:"navigationhistory":2:{s:4:"path";a:7:{i:0;a:4:{s:4:"page";s:9:"index.php";s:4:"mode";s:6:"NONSSL";s:3:"get";a:0:{}s:4:"post";a:0:{}}i:1;a:4:{s:4:"page";s:9:"index.php";s:4:"mode";s:6:"NONSSL";s:3:"get";a:2:{s:5:"cPath";s:1:"1";s:6:"osCsid";s:32:"125d1d12f034dc3f6711a073fa620c46";}s:4:"post";a:0:{}}i:2;a:4:{s:4:"page";s:16:"product_info.php";s:4:"mode";s:6:"NONSSL";s:3:"get";a:3:{s:11:"products_id";s:2:"28";s:6:"action";s:11:"add_product";s:6:"osCsid";s:32:"125d1d12f034dc3f6711a073fa620c46";}s:4:"post";a:3:{s:11:"products_id";s:2:"28";s:1:"x";s:2:"20";s:1:"y";s:1:"6";}}i:3;a:4:{s:4:"page";s:17:"shopping_cart.php";s:4:"mode";s:6:"NONSSL";s:3:"get";a:1:{s:6:"osCsid";s:32:"125d1d12f034dc3f6711a073fa620c46";}s:4:"post";a:0:{}}i:4;a:4:{s:4:"page";s:21:"checkout_shipping.php";s:4:"mode";s:6:"NONSSL"; s:3:"get";a:1:{s:6:"osCsid";s:32:"125d1d12f034dc3f6711a073fa620c46";}s:4:"post";a:0:{}}i:5;a:4:{s:4:"page";s:9:"login.php";s:4:"mode";s:6:"NONSSL";s:3:"get";a:1:{s:6:"osCsid";s:32:"125d1d12f034dc3f6711a073fa620c46";}s:4:"post";a:0:{}}i:6;a:4:{s:4:"page";s:18:"create_account.php";s:4:"mode";s:6:"NONSSL"; s:3:"get";a:1:{s:6:"osCsid";s:32:"125d1d12f034dc3f6711a073fa620c46";}s:4:"post";a:19:{s:6:"action";s:7:"process";s:6:"gender";s:1:"m";s:9:"firstname";s:4:"Titi";s:8:"lastname";s:6:"TOTO";s:3:"dob";s:10:"06/06/1966";s:13:"email_address"; s:18:"titi.toto@tata.fr";s:7:"company";s:0:"tata";s:14:"street_address";s:7:"csdvsdv";s:6:"suburb";s:0:"";s:8:"postcode";s:5:"75001";s:4:"city";s:6:"PARIS"; s:5:"state";s:6:"FRANCE";s:7:"country";s:2:"73";s:9:"telephone";s:14:"01 30 30 30 30";s:3:"fax";s:0:"";s:8:"password";s:6:"youpi";s:12:"confirmation";s:6:"youpi";s:1:"x";s:1:"0";s:1:"y";s:1:"0";}}}s:8:"snapshot";a:4:{s:4:"page";s:21:"checkout_shipping.php";s:4:"mode";s:6:"NONSSL";s:3:"get";a:1:{s:6:"osCsid";s:32:"125d1d12f034dc3f6711a073fa620c46";}s:4:"post";a:0:{}}}customer_id|i:2;customer_first_name|s:4:"Toto";customer_default_address_id|i:2;customer_country_id|s:2:"73";customer_zone_id|i:0; Ce message a été modifié par gentag - 19 Mar 2008, 15:24. -------------------- "Les solutions existent toujours depuis longtemps, il suffit de les trouver."
|
|
|
19 Mar 2008, 15:44
Message
#11
|
|
|
5eme dan OSC Groupe : Administrateur Messages : 14910 Inscrit : 22-November 02 Membre no 610 |
CITATION(gentag @ 19 Mar 2008, 15:18) [snapback]274351[/snapback] Et Xaglo, qu'entend tu par: CITATION ET optimiser la table session (elle peut gonfler vite en "pertes"), je ne suis pas spécialiste mysql, mais voilà dans mon langage approximatif ce que j'en ai compris: Pour accélérer le traitement des bases les infos sont écrites temporairement dans un espèce de "cache" que tu retrouves dans phpmyadmin dans la colonne "perte", à coté de la colonne "taille" ou, quand tu affiches la structure d'une table, dans le tableau "Espace utilisé" exemple CITATION Espace utilisé Type Espace Données 148 844 o Index 18 432 o Perte 125 780 o effectif 41 496 o Total 167 276 o Optimiser la table Cette "perte" augmente rapidement sur les tables très sollicitées comme la table 'sessions' Le fait d'optmiser la table (OPTIMIZE TABLE `sessions` ) vide cette "Perte". En général, ça ne fait jamais de mal à une base d'être entièrement optimisée, on gagne en espace disque. -------------------- Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions |
|
|
20 Mar 2008, 12:04
Message
#12
|
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 470 Inscrit : 16-May 02 Lieu : Oise Normande pays de bray Membre no 183 |
Bonjour a tous,
Juste en passant un petit fichier à lancer en cron ou manuel (1ou 2 fois par mois) rectifiez-moi si je me trompe... Perfectible évidement.... CODE <?php mysql_connect('serveur_mysql', 'utilisateur_mysql', 'mot_de_passe_mysql'); $base = 'nom_de_la_base'; $table = mysql_list_tables($base); //on prépare la requête $sql = "OPTIMIZE TABLE "; //on recherche toutes les données des tables $req = mysql_query('SHOW TABLE STATUS'); while($data = mysql_fetch_assoc($req)) { //on regarde seulement les tables qui affichent des pertes if($data['Data_free'] > 0) { //et on l'inclut si elle comporte des pertes $sql .= '`'.$data['Name'].'`, '; } } //on enlève le ', ' de trop $sql = substr($sql, 0, (strlen($sql)-2)); //et on optimise mysql_query($sql); mysql_close(); ?> Alain -------------------- Oscommerce : 2.2 MS2 | AdminMS2fr V2.3 | BoxImageThemaMS2fr V2.7 | Definemainpage v1.3.3 | MenubarV1 | WYSIWYG HTMLArea v1.7 FR | Sendorderhtmlemail v54 | Header Tags Controller v2.3.2 | Ultimate SEO URLs 2.2.2 | xsell_1_2_1 | PayPal_IPN-v2.3.3 | visibles country v1.1b | popup_image by grunt | step_by_step_orders_v1.7 | fckeditor-oscommerce_V2 | featured_products | Discount Coupon Codes 3.3. | Account Balance (gift certificate redemption) | N° facture séquentiel par Blanche Neige.
Projet en cours de finition : Oscommerce : 2.3.3 FR | Ultimate_Seo_Urls_5_PRO_r205 | X_Sell_For_2.3.1_v3.0 | ipuv205A_for_osc231 | Instructions utf8 latin1 (Règle une bonne fois pour toute les problème d'accent) | AJAX attribute manager for 2.3.1 v2 mise à jour v2.8.10 | Category Description for OSCommerce 2.3.1 v1.08 | Product Attributes Sort Order v1.83a | Easy Populate v2.8-231 for osCommerce v2.3.1 | Quick_updates v2.9.2 | Theme Switcher v1.4.2 (retiré) | Fancier Invoice & Packing Slip for OSC 2.3.1 + Adaptation - Numéro de facture séquenciel par Blanche Neige | Dynamic Template System v2 | Order editor for2.3 v1.3 | Product Tabs V1.1 | KissIT - image Thumbnailer v1.0.0 | Option Types v2.3.1 |
|
|
20 Mar 2008, 15:41
Message
#13
|
|
![]() Ceinture noire OSC Groupe : Membres Messages : 2871 Inscrit : 27-June 07 Lieu : Elancourt (78) Membre no 18127 |
Bonjour,
Bah merci beaucoup pour les réponses Xaglo et AL1, je mourrais moins bête... -------------------- "Les solutions existent toujours depuis longtemps, il suffit de les trouver."
|
|
|
20 Mar 2008, 16:16
Message
#14
|
|
|
2eme dan OSC Groupe : Bannis Messages : 3022 Inscrit : 12-November 07 Lieu : Massilia Membre no 19718 |
CITATION(xaglo @ 19 Mar 2008, 15:44) [snapback]274356[/snapback] Cette "perte" augmente rapidement sur les tables très sollicitées comme la table 'sessions' Le fait d'optmiser la table (OPTIMIZE TABLE `sessions` ) vide cette "Perte". Je dirais même que cette perte augmente très rapidement sur ces table très sollicitées et surtout celles qui ont une longueur variable comme products_description. Sur des tables fixes le problème se pose pas ou peu. De manière simplifiée : MySQL dans son fonctionnement affecte un bloc de données selon le profil de la table. Si la "place" restant dans un bloc de données ne suffit pas à y insérer une information, un nouveau bloc est affecté à la table et l'espace qui y restait précédemment est inutilisé jusqu'à ce le moteur y trouve preneur. C'est un phénomène de fragmentation au même titre qu'un filesystem. Enfin hormis l'aspect "culturel", merci AL1, ton code est très utile et trouve bien sa place dans le fonctionnement régulier d'un OsC. |
|
|
20 Mar 2008, 21:31
Message
#15
|
|
|
Ceinture orange OSC Groupe : Membres Messages : 215 Inscrit : 25-October 05 Lieu : Boulogne sur mer (62) Membre no 7623 |
Salut à tous..
Un peu de bidouille.. un brin de suppression.. et je suis arrivé a 22 Mo.. Merci à vous N'hésitez pas à proposer d'autres idées.. solution.. je suis preneur.. comme beaucoup !! Je pense..; -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR.
|
|
|
14 May 2008, 09:24
Message
#16
|
|
|
Ceinture orange OSC Groupe : Membres Messages : 298 Inscrit : 26-December 05 Lieu : lille Membre no 8319 |
bonjour
j'ai appliqué le code de AL1 et j'ai le message d'erreur suivant Code Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home.10.5/xxxxxx/www/clean_sql.php on line 9 et voici ce que j'ai a à la ligne 9 Code while($data = mysql_fetch_assoc($req)) Quelqu'un aurait il une petite idée Merci -------------------- Version osCommerce Online Merchant v2.2 RC1 W3C Valid FR
et Une ancienne creload 6 1.4 Super friendly admin menue ,Visible_countries_1.2b, define_mainpage_v1.3.3, inactive_user, HeaderTags_V_2.6.3, UltraPics_2_08, printable_catalog_3.6, AllProducts_V_4.7, Categories_Box_Bullet, scrolling_bestseller_with_images_1, Ultimate Html Emails v2.1, minimum order amount, Alternative Attribut 7, ultimate seo url 2.7, Quantity Price Breaks Per Product 1.3.5, Google XML Sitemap 1.3, Atos 2.3.0, TVA Intracommunautaire V5.1, Administration level account with categories 2.3.1fr, admin toolbar v4.1, |
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 25th May 2013 - 18:33 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |