Hallo zusammen,
vielleicht kann mir jemand bei dem Problem Aufschluss geben. Wir sind in der letzten Woche vom Shop 3.20 auf den aktuellen Shop 4.05 Build 3 umgestiegen. Vorher war unsere Last im Server unauffällig. Seit dem Umstieg geht uns die CPU Last im MYSQL durch die Decke. Grundlast liegt bei 30%-40% zu Spitzenzeiten geht es auch mal gen 100%.
Ich habe rausbekommen, dass es die Abfrage zum Xsell ist, die das ganze hochtreibt in dem in den MYSQL-Slow- Log geschaut habe.
Ist die Abfrage die uns beschäftigt. (Hier ein Spitzenreiter mit über 9Sek.)
Unsere Datenbank ist mittlerweile über 400 MB groß.
Ich habe also die Performance geprüft indem ich das X-Sell in den Artikeldetails ausgeschaltet habe und dann war alles wieder ruhig. Aber das kann nicht die Lösung sein.
Nun dachte ich, dass bei dem Upgrade vielleicht ein Index nicht richtig in der Datenbank steht. Also habe ich dies mit einer frischen 4.05er Datenbank verglichen in den Tabellen tartikel und txsellkauf = Alles ok.
Habt ihr vielleicht einen Ansatzt, was ich noch machen kann oder kennt jemand diese Problematik? Wir betreiben übrigends einen eigenen Server im Rechenzentrum auf dem der Shop liegt, also die Hardware sollte reichen, zumal sie zuvor sich ja auch eher gelangweilt hat.
Viele Grüße
Stephan
vielleicht kann mir jemand bei dem Problem Aufschluss geben. Wir sind in der letzten Woche vom Shop 3.20 auf den aktuellen Shop 4.05 Build 3 umgestiegen. Vorher war unsere Last im Server unauffällig. Seit dem Umstieg geht uns die CPU Last im MYSQL durch die Decke. Grundlast liegt bei 30%-40% zu Spitzenzeiten geht es auch mal gen 100%.
Ich habe rausbekommen, dass es die Abfrage zum Xsell ist, die das ganze hochtreibt in dem in den MYSQL-Slow- Log geschaut habe.
Code:
# Query_time: 9.370473 Lock_time: 0.000400 Rows_sent: 4 Rows_examined: 387157
SET timestamp=1505028691;
SELECT 3883 AS kArtikel,
IF(tartikel.kVaterArtikel = 0, txsellkauf.kXSellArtikel, tartikel.kVaterArtikel) AS kXSellArtikel,
SUM(txsellkauf.nAnzahl) nAnzahl
FROM txsellkauf
JOIN tartikel ON tartikel.kArtikel = txsellkauf.kXSellArtikel
WHERE (txsellkauf.kArtikel IN (
SELECT tartikel.kArtikel
FROM tartikel
WHERE tartikel.kVaterArtikel = 3883
) OR txsellkauf.kArtikel = 3883)
AND IF(tartikel.kVaterArtikel = 0, txsellkauf.kXSellArtikel, tartikel.kVaterArtikel) != 3883
GROUP BY 1, 2
ORDER BY SUM(txsellkauf.nAnzahl) DESC, rand()
LIMIT 4;
Unsere Datenbank ist mittlerweile über 400 MB groß.
Ich habe also die Performance geprüft indem ich das X-Sell in den Artikeldetails ausgeschaltet habe und dann war alles wieder ruhig. Aber das kann nicht die Lösung sein.
Nun dachte ich, dass bei dem Upgrade vielleicht ein Index nicht richtig in der Datenbank steht. Also habe ich dies mit einer frischen 4.05er Datenbank verglichen in den Tabellen tartikel und txsellkauf = Alles ok.
Habt ihr vielleicht einen Ansatzt, was ich noch machen kann oder kennt jemand diese Problematik? Wir betreiben übrigends einen eigenen Server im Rechenzentrum auf dem der Shop liegt, also die Hardware sollte reichen, zumal sie zuvor sich ja auch eher gelangweilt hat.
Viele Grüße
Stephan