Jump to content

Lenteur MySQL avec boutique sous InnoDB de plus en plus lente


Recommended Posts

Bonjour,

J'ai depuis quelques semaines des lenteurs dûes à MySQL.

La base de données augmente et même localement certaines requêtes dans phpmyadmin peuvent mettre 50 sec, notamment pour lister les produits avec les sous-requêtes que fait PS.

La base MySQL esst en innoDB et je pense que cela vient des index qui ne sont pas optimisés car quelques semaines auparavant c'était rapide, mais avec l'augmentation sensible du catalogue cela devient très lent.

Version PS 1.6.0.8

Avez-vous des pistes, peut-être igrer en MySAM ou autres optimisations ?

Merci

Link to comment
Share on other sites

1/ MyISAM est plus lent sur les grosses tables

2/ Ton engine InnoDB est-il tuné ?

3/ 1.6.0.8? il serait peut-etre temps de quitter les version béta d'il y a 3 ans (migrer 1.6.1.15)

4/ Vérifie justement si tu as tous les index natifs

5/ Tu parle de catalogue qui grandi, quelle volumétrie?

Link to comment
Share on other sites

1/ MyISAM est plus lent sur les grosses tables

2/ Ton engine InnoDB est-il tuné ?

3/ 1.6.0.8? il serait peut-etre temps de quitter les version béta d'il y a 3 ans (migrer 1.6.1.15)

4/ Vérifie justement si tu as tous les index natifs

5/ Tu parle de catalogue qui grandi, quelle volumétrie?

Le InnoDB n'est pas tuné

Oui ça serait bien de passer en 1.6.1.15 mais c'est quand même du travail, je prévois de le faire.

Aucun index n'a été changé

La taille du catalogue n'est pas immense, 521 produits,  7344 attributs, 22000 images

 

J'ai testé une requete et cela est lent sur toutes les tables :

 

Sur une base de quelques mois :

MySQL returned an empty result set (i.e. zero rows). ( Query took 0.0127 sec )

SELECT SQL_NO_CACHE p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`,

pl.`meta_keywords`, pl.`meta_title`, pl.`name`, pl.`available_now`, pl.`available_later`, MAX(image_shop.`id_image`) id_image, il.`legend`, m.`name` AS manufacturer_name,

product_shop.`date_add` > "2017-05-21" as new,

MAX(product_attribute_shop.id_product_attribute) id_product_attribute

FROM `ps_product` p

INNER JOIN ps_product_shop product_shop

ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1)

LEFT JOIN `ps_product_lang` `pl` ON 

p.`id_product` = pl.`id_product`

AND pl.`id_lang` = 1 AND pl.id_shop = 1 

LEFT JOIN `ps_image` `i` ON i.`id_product` = p.`id_product`

LEFT JOIN ps_image_shop image_shop

ON (image_shop.id_image = i.id_image AND image_shop.id_shop = 1 AND image_shop.cover=1)

LEFT JOIN `ps_image_lang` `il` ON i.`id_image` = il.`id_image` AND il.`id_lang` = 1

LEF[...]

 

Et maintenant :

 

MySQL returned an empty result set (i.e. zero rows). ( Query took 45.2324 sec )

SELECT SQL_NO_CACHE p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`,

pl.`meta_keywords`, pl.`meta_title`, pl.`name`, pl.`available_now`, pl.`available_later`, MAX(image_shop.`id_image`) id_image, il.`legend`, m.`name` AS manufacturer_name,

product_shop.`date_add` > "2017-05-21" as new,

MAX(product_attribute_shop.id_product_attribute) id_product_attribute

FROM `ps_product` p

INNER JOIN ps_product_shop product_shop

ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1)

LEFT JOIN `ps_product_lang` `pl` ON 

p.`id_product` = pl.`id_product`

AND pl.`id_lang` = 1 AND pl.id_shop = 1 

LEFT JOIN `ps_image` `i` ON i.`id_product` = p.`id_product`

LEFT JOIN ps_image_shop image_shop

ON (image_shop.id_image = i.id_image AND image_shop.id_shop = 1 AND image_shop.cover=1)

LEFT JOIN `ps_image_lang` `il` ON i.`id_image` = il.`id_image` AND il.`id_lang` = 1

LEF[...]

Profiling[  ] [  ]
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...