Hallo Community,
seit ein paar Tagen sind die Einträge in s_articles_similar_shown_ro extrem angewachsen:
Woran kann das liegen und was kann man dagegen machen?
Besten Dank vorab.
Hallo Community,
seit ein paar Tagen sind die Einträge in s_articles_similar_shown_ro extrem angewachsen:
Woran kann das liegen und was kann man dagegen machen?
Besten Dank vorab.
wow, 6.8m wieviele artikel habt ihr im shop?
Du kannst den Wert der Tage die berücksichtigt werden reduzieren. Bei großen Shops reicht oft 1 Tag. Wenn das nicht ausreicht, würde ich die Funktion aus Performance Gründen deaktivieren.
Bei den Cross Selling Funktionen sollte man immer beobachten wie schnell sich die Tabellen aufbauen und entsprechend die Settings anpassen.
Ok, erst mal danke für die schnellen Antworten. Wir haben schon viele Artikel, aber max. 240.000 Stck. Ich habe jetzt mal, wie von Moritz empfohlen den Wert auf 1 Tag gesetzt. Was passiert denn dann genau nach diesem einen Tag?
Ich würde die Tabelle erstmal leer machen und dann beobachten, wie schnell die sich wieder aufbaut. Ich würde sagen so bis zu 1.000.000 Einträge ist im Rahmen. Du solltest auch sicherstellen, dass die SW-Cronjobs laufen (wie bspw. “aufräumen”). Dann wird die Tabelle auch regelmäßig aufgeräumt.
Durch den Neuaufbau des 'Kunden haben sich auch angesehen" Index hat sich das jetzt erst mal wieder einigermaßen auf ein vernünftiges Maß eingependelt…, d.h. die Tabelle hat jetzt keine 6 Millionen Einträge mehr, sondern so etwas um die 270.000
Ein Kollege hat sich das aber auch mal angeschaut. Wir sind auch die Log Files durchgegangen und haben festgestellt, das die Datenbankeinträge allerwahrscheinlichkeit nicht von aussen z.B durch einen doofen Bot entstehen, sondern durch SW selbst erzeugt werden, z.B 2606 Einträge in der selben Sekunde!
Wie kann so etwas passieren?
Ich würde die Tabelle erstmal leer machen und dann beobachten, wie schnell die sich wieder aufbaut. Ich würde sagen so bis zu 1.000.000 Einträge ist im Rahmen. Du solltest auch sicherstellen, dass die SW-Cronjobs laufen (wie bspw. „aufräumen“). Dann wird die Tabelle auch regelmäßig aufgeräumt.
@Moritz: Wenn ich den CronJob Aufräumen, z.B. via Console anstoße ( php bin/console sw:cron:run Shopware_CronJob_clearing) passiert in dieser Tabelle eigentlich gar nichts, denn es bleibt genau bei der gleichen Anzahl der Einträge.
Wie soll ich - Deiner Meinung nach - diese Tabelle am besten leer machen?
TRUNCATE 's_articles_similar_shown_ro';
Kann ich da so machen?
*push (sorry…)
Die Tabelle kannst du natürlich einfach leeren.
Wie das konkret abläuft müsstest du dir im Quellcode ansehen und debuggen: shopware/SimilarShown.php at 5fc10f63095a475e980c29db4ac476a271c6d5cd · shopware/shopware · GitHub
Klingt mir aber eher danach, als ob ihr bspw. auf den Detailseiten extrem viele Artikel als Crossselling anzeigt und die sind natürlich dann auch „similarshown“. Wenn also auf einer Detailseite mehrere hundert weitere Artikel vorgeschlagen werden, dann sind das auch mehrere hundert Einträge für die similar shown. Am besten schaust du mal, dass du bei den sonstigen Empfehlungen und Crosssellings auch die Standardwerte drin hast und bspw. nicht 100 Artikel im Ähnliche Artikel Slider anzeigst.
Du solltest in jedem Fall auch Aktualisierungsstrategie Cronjob nutzen.
Die Tabelle kannst du natürlich einfach leeren.
Sorry, jetzt stehe ich gerade auf dem Schlauch. Kann ich sie mit Truncate einfach leeren oder würde ich damit den Shop abschießen? Ein Funktion zum leeren der Einträge gibt es ja in Shopware nicht, oder?
Nochmal: Du kannst die Tabelle einfach leeren. Und das macht Truncate ja nunmal.
Musst du dann halt mal konkret debuggen, woher die Daten kommen. Ansonsten kann man nur raten.
Sorry, war nur verwirrt, wegen deiner Aussage mit dem Debuggen! jetzt weiß ich aber, was Du damit eigentlich sagen wolltest…
Danke für Deine Hilfe…