Neu hohe mySQL Serverlast

erich2002

Aktives Mitglied
20. Juni 2016
31
2
Hallo zusammen

vieleicht kann mir jemand sagen was ich da machen kann!

un zwar erhielt ich heute eine info meines Hoster das ich fas die gesamte last des mySQL server verbrauche! er hat mir volgende mitteilung gegeben

| 70580682 | erichfuc_jtl | p11.server.hostpoint.internal:15138 | erichfuc_jtl | Query | 31 | Copying to tmp table | SELECT node.kKategorie, node.kOberKategorie, node.cName, node.cBeschreibung, tkategoriepict.cPfad, n

ode.cSeo, COUNT(tartikel.kArtikel) AS cnt

FROM tkategorie AS node INNER JOIN tkategorie AS parent

LEFT JOIN tkategoriesichtbarkeit

ON node.kKategorie = tkategoriesichtbarkeit.kKategorie

AND tkategoriesichtbarkeit.kKundengruppe = 1 LEFT JOIN tkategoriepict

ON tkategoriepict.kKategorie = node.kKategorie LEFT JOIN tkategorieartikel

ON tkategorieartikel.kKategorie = node.kKategorie LEFT JOIN tartikel

ON tkategorieartikel.kArtikel = tartikel.kArtikel AND (NOT (tartikel.fLagerbestand <= 0 AND tartikel.cLagerBeachten = 'Y')

OR tartikel.cLagerKleinerNull = 'Y' OR tartikel.cLagerVariation = 'Y') LEFT JOIN tartikelsichtbarkeit

ON tartikel.kArtikel = tartikelsichtbarkeit.kArtikel

AND tartikelsichtbarkeit.kKundengruppe = 1

WHERE tkategoriesichtbarkeit.kKategorie IS NULL AND node.lft BETWEEN parent.lft AND parent.rght

AND parent.kOberKategorie = 0 AND tartikelsichtbarkeit.kArtikel IS NULL



GROUP BY node.kKategorie

ORDER BY node.lft

| 0.000 |

| 70581004 | erichfuc_jtl | p11.server.hostpoint.internal:16161 | erichfuc_jtl | Query | 31 | Copying to tmp table | SELECT node.kKategorie, node.kOberKategorie, node.cName, node.cBeschreibung, tkategoriepict.cPfad, n

ode.cSeo, COUNT(tartikel.kArtikel) AS cnt

FROM tkategorie AS node INNER JOIN tkategorie AS parent

LEFT JOIN tkategoriesichtbarkeit

ON node.kKategorie = tkategoriesichtbarkeit.kKategorie

AND tkategoriesichtbarkeit.kKundengruppe = 1 LEFT JOIN tkategoriepict

ON tkategoriepict.kKategorie = node.kKategorie LEFT JOIN tkategorieartikel

ON tkategorieartikel.kKategorie = node.kKategorie LEFT JOIN tartikel

ON tkategorieartikel.kArtikel = tartikel.kArtikel AND (NOT (tartikel.fLagerbestand <= 0 AND tartikel.cLagerBeachten = 'Y')

OR tartikel.cLagerKleinerNull = 'Y' OR tartikel.cLagerVariation = 'Y') LEFT JOIN tartikelsichtbarkeit

ON tartikel.kArtikel = tartikelsichtbarkeit.kArtikel

AND tartikelsichtbarkeit.kKundengruppe = 1

WHERE tkategoriesichtbarkeit.kKategorie IS NULL AND node.lft BETWEEN parent.lft AND parent.rght

AND parent.kOberKategorie = 0 AND tartikelsichtbarkeit.kArtikel IS NULL



GROUP BY node.kKategorie

ORDER BY node.lft

und heute noch folgende meldung
SELECT parent.kKategorie, parent.kOberKategorie, parent.cName, parent.cBeschreibung, tkategoriepict.cPfad, parent.cSeo, COUNT(tartikel.kArtikel) AS cnt

Diese zwei befehle machen grosse datenbankabfragen aus.

der Worker sendet zwar gerade 50'000 Artikel zum Shop aber das kann doch nicht das problem sein.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Hallo,
"Diese zwei befehle machen grosse datenbankabfragen aus.

der Worker sendet zwar gerade 50'000 Artikel zum Shop aber das kann doch nicht das problem sein.

Indirekt schon... Die beiden gen. Abfragen dienen der Ermittlung der Kategoriestruktur und sind bei entsprechend vielen Kategorien sehr Datenbanklastig. Aus diesem Grund werden sie vom Shop sehr extensiv gecached, so dass das im Normalbetrieb im Shop nicht auffällt. Bei einem Abgleich wird jedoch permanent - um aktuelle Daten anzuzeigen - der Cache invalidiert, was zur Folge hat das die gen. Abfragen bei jedem Shop-Aufruf ausgeführt werden. Läuft also jetzt ein längerer Abgleich, bei gleichzeitig vielen Frontend-Zugriffen, dann kann es zu einer sehr hohen Datenbanklast kommen. Es empfiehlt sich deshalb größere Abgleiche nicht gerade zu Zeiten zu machen, an denen der Shop durch Besucher gut frequentiert ist.
 

erich2002

Aktives Mitglied
20. Juni 2016
31
2
@FPrüfer das heisst wenn der abgleich vorbei ist die Serverlast verringert! und es nur bei einem Komplet abgleich oder wenn mall sehr viele neue Artikel dazukommen dieses Problem wieder auftauchen kann?
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
@FPrüfer das heisst wenn der abgleich vorbei ist die Serverlast verringert! und es nur bei einem Komplet abgleich oder wenn mall sehr viele neue Artikel dazukommen dieses Problem wieder auftauchen kann?
Ja, wenn für den Shop der Objekt- Cache aktiviert ist (wovon ich mal ausgehe).
Beim normalen Abgleich (Quicksync) passiert das zwar auch, aber das Zeitfenster in dem es zu Überschneidungen mit dem Frontend kommen kann ist sehr viel kleiner, so dass die kurze Lastspitze beim Neuerstellen der Kategoriestruktur nicht auffällt.
 
Ähnliche Themen

Ähnliche Themen