Gelöst MYSQL hat eine sehr hohe CPU Last

Status
Es sind keine weiteren Antworten möglich.

Stephs182

Sehr aktives Mitglied
21. Januar 2015
253
26
Luckau NL
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.

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;
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
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.869
2.217
Berlin
Firma
css-umsetzung
Habt ihr einen aktiven cache?
Redis ist ja hier die erste Wahl, insbesondere weil ihr einen eigenen Server habt.

Bei den Kunden, bei denen ich auch die Server in der Hand habe, liegt die MySQL last im normalen Bereich, da sind mir bisher noch keine wirklich extreme Performance Probleme aufgefallen.

Von welcher Artikel Anzahl sprechen wir hier.
 

Stephs182

Sehr aktives Mitglied
21. Januar 2015
253
26
Luckau NL
Vielen Dank für die Antwort.
Wir haben zunächst keinen Cache genutzt. Testweise die File Cache Methode, leider ohne Erfolg. Ich habe nun mal den Redis installiert und seit einer Stunde zu laufen. Die CPU ging zwar zunächst runter, doch nun scheint es wieder hoch zu gehen, zumindest leicht.

Wie lange lasst ihr die Lifetime vom Cache? Ich habe jetzt mal ne halbe Stunde gesetzt.

Wir haben knapp 10t Artikel wobei nur etwa 1500 Artikel Väter sind.
 

Stephs182

Sehr aktives Mitglied
21. Januar 2015
253
26
Luckau NL
Ja klar ist das nicht so viel... deshalb verstehe ich die Reaktion auch nicht. Das sollte der Server problemlos wegstecken... auch weil er es ja im Shop3 auch gekonnt hat.

Redis läuft nun 2h ... die MySQL-CPU Last ist nun nicht mehr so sprunghaft, aber immernoch über 30%.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
527
Halle
Hallo,
...Habt ihr vielleicht einen Ansatzt, was ich noch machen kann oder kennt jemand diese Problematik?
Kannst du mal ein EXPLAIN auf die Problematische Abfrage machen und das Ergebnis posten!? Versuch auch alternativ mal die betroffenen Tabellen einem ANALYZE zu unterziehen. Also auf der DB ein
SQL:
ANALYZE TABLE tartikel;
ANALYZE TABLE txsellkauf;
absetzen.
 

Stephs182

Sehr aktives Mitglied
21. Januar 2015
253
26
Luckau NL
Vielen Dank für deinen Hinweis @FPrüfer . Ich habe das mal versucht. Grundsätzlich kommt bei einer Simulation das Ergebnis. Is ja ne "Select Abfrage". Das passt auch. Analyze brachte jeweils ein ok.

Was mich wundert, gestern abend um 20 Uhr habe ich den Cache installiert, wie von css-umsetzung geraten. Gegen 0 Uhr hat sich das SQL beruhigt und läuft seit dem sehr ruhig, wie wir es gern hätten. In der Anlage mal die Diagramme... Am Dienstag (5.9.) war das Update von Shop 3 auf Shop 4. Gut zu erkennen... in der zweiten Grafik sieht man die letzten 24h... sql-last.png sql-last-sunday.png Baut der Cache sich solange auf?

Die MySQL Slow Log ist heute auch wieder weitestgehend leer geblieben.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.869
2.217
Berlin
Firma
css-umsetzung
Es ist ja nicht so das der cache eingeschaltet wird und schwups ist er da.
Der Cache baut sich langsam aber stetig, mit jedem neuen Aufruf auf, es kann also sein das eine Seite im Shop oder ein Artikellisting noch nicht im cache ist weil es einfach noch nicht aufgerufen wurde.

Je länger der Shop also läuft umso besser sollte die Performance werden, auch die indexe bauen sich ja langsam auf und sind nicht schwups auf einmal da (behaupte ich, bin da ziemlich sicher in der Aussage)
Dadurch das die einzelnen caches zu unterschiedlichen Zeiten aufgebaut werden, werden Sie auch nicht alle auf einmal erneuert, was ebenfalls der Performance zugute kommt.
 

Stephs182

Sehr aktives Mitglied
21. Januar 2015
253
26
Luckau NL
Ich wollte nochmal Feedback geben, dass die Performance sich deutlich verbessert hat und der Shop nun besser läuft. Dadurch hat man auch wieder einen Schupp bei der Conversion Rate gespürt. Ich denke das Thema kann nun geschlossen werden.
 
Status
Es sind keine weiteren Antworten möglich.
Ähnliche Themen
Titel Forum Antworten Datum
Kundenstammdaten: Wie erkenne ich in der Wawi, ob ein Shop-Kunde ein Kundenkonto angelegt hat? JTL-Wawi 1.9 2
X-Rechnung hat Validierungsfehler und wird abgelehnt JTL-Wawi 1.10 0
Neu JTL mit Shopify für Etsy anstatt JTL mit Unicorn2 - hat das jemand gemacht? Anbindung, bestehende Artikel mappen? Multishop? Shopify-Connector 2
Neu Aktuell hat PayPal Probleme BUG Korrektur Buchungen Allgemeine Fragen zu JTL-Shop 1
Workflow soll wenn Artikel 0 Bestand für 35 Tage hat diesen auf inaktiv setzen JTL-Wawi 1.10 4
Neu Hat jemand Erfahrung mit der Anbindung von TikTok Shop über Shopify? Einrichtung und Installation von JTL-eazyAuction 0
Neu Kann ich irgendwie ausgeben, welches JTL-Konto das Dokument gedruckt hat? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 11
Neu Aufschlüsselung von Tabelle tQueue ?? Hat wer Infos darüber?? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Fehler beim JTL-Worker – "Der Remoteserver hat einen Fehler zurückgegeben: (502) Ungültiges Gateway" (Shopify) JTL-Wawi - Fehler und Bugs 2
Neu Sprechende URLs & Sprachlogik im JTL-Shop – Wer hat’s schon umgesetzt? Allgemeine Fragen zu JTL-Shop 1
Neu Eine Rechnungsposition auf zwei Teilrechnungen berechnen - Wie löst ihr das? Arbeitsabläufe in JTL-Wawi 1
Worker Retouren Fehlermeldung "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." JTL-Wawi 1.9 0
Neu Staging und Konten bitte eine Erklärung. Installation von JTL-Wawi 0
Neu Gibt es eine Möglichkeit Copilot Studio mit der JTL-Datenbank zu verbinden? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Nach Paypal-Leak, eine Alternative? JTL-Wawi - Ideen, Lob und Kritik 11
Neu BIO Zertifizierung - Kontrollstelle fordert jetzt eine Liste aller Artikel mit Sortierung Smalltalk 9
In Diskussion Ich habe eine neue TSE-Karte gekauft (Swissbit TSE). Wo finde ich den PIN und PUK? Einrichtung / Updates von JTL-POS 3
Neu Google shopping export - neue Produkte markieren um eine Werbung nur für neue Produkte laufen zu lassen Technische Fragen zu Plugins und Templates 1
Eine Artikelnummern pro Shop ? Und einen Hauptartikel ? JTL-Wawi 1.8 2
Neu Die Zahlungsart SOFORT ist eine Plugin-Zahlungsart für Mollie. Das zugehörige Plugin ist jedoch nicht installiert! Allgemeine Fragen zu JTL-Shop 0

Ähnliche Themen