Bug? - Too many connections beim Import von viel Kategorien

Hallo, ich habe gestern versucht eine CSV Datei mit vielen Kategorien zu importieren. Eine sehr große… mit ca. 12000+ Einträgen. Er ist die ganze Zeit beschäftig und nach einer gewissen Zeit, ca. 45 Minuten oder so, lädt das Backend neu, und man muss sich neu einloggen… Habe die Geschichte über Nacht laufen lassen. Heute morgen hatte der mysqld Prozess immer noch permanent über 75% CPU Last…und ich kann mich nicht ins Backend einloggen… Scheint extrem überlastet alles… Kann mir jemand sagen, warum das nicht funktioniert? Bzw. sooo lange dauert… Wenn man so eine Datei direkt in MySQL einspielt geht es ja vieeeeeel schneller… Kommt Shopware hier an seine Grenzen? Spricht was dagegen die CSV mit den Kategorien direkt in die s_categories zu importieren? Oder entstehen dann irgendwelche mir momentan nicht ersichtlichen Inkonsistenzen? Schönen Tag, Nando Nachtrag, Shopware meldet jetzt: Fatal error: Uncaught exception ‚PDOException‘ with message ‚SQLSTATE[08004] [1040] Too many connections‘ Scheinbar wird der Import auf mehrere Conenctions verteilt und dies nicht begrenzt. MySQL erlaubt standard-mässig wohl nur 1000 Verbindungen…

du willst zu viel auf einmal :slight_smile: das kannste knicken 1/8 würde wahrscheinlich gehen 1200+ ist zu viel da steigt SW aus

Sorry kann dir leider keinen Lösungsweg anbieten, aber ich stelle mir gerade vor, wie ein Shop mit über 12000 Kategorien denn aussehen mag (auch wenn natürlich nicht alle aktiv sein werden)

[quote=“Sanjan”]Sorry kann dir leider keinen Lösungsweg anbieten, aber ich stelle mir gerade vor, wie ein Shop mit über 12000 Kategorien denn aussehen mag (auch wenn natürlich nicht alle aktiv sein werden)[/quote] Es geht um Autoteile. Ein Artikel passt auf viele Modelle… Teilweise 50 oder mehr. Also wird dieser Artikel allen Modellen zugeordnet. Der User wählt sein Modell aus, z.B: Luftfiler -> Opel Astra F Cabriolet 1.4i 16V (53_B) Astra F Cabriolet 1.6i (53_B) Astra F Caravan 1.4i (51_ Astra F Caravan 1.4i 16V (51_ Astra F Caravan 1.6 Si (51_ Astra F Caravan 1.6i (51_ Astra F Caravan 1.6i 16V (51_ Astra F Van 1.4i (55_) Astra F Van 1.6i (55_) Astra G CC 1.2 16V (F48_ Astra G CC 1.4 16V (F48_ Astra G CC 1.6 (F48_ Astra G CC 1.6 16V (F48_ Astra G Caravan 1.2 16V (F35_) Astra G Caravan 1.4 16V (F35_) Astra G Caravan 1.6 (F35_) Astra G Caravan 1.6 16V (F35_)

Hallo nando, also eine solch großen Import solltest du auf jeden Fall aufteilen in mehrere kleine. Vielleicht überdenkst du auch noch einmal dein Konzept. Vielleicht kannst du etliche Kategorien sparen wenn du mit Eigenschaften arbeitest und diese dann filterst. Hier ein Wiki-Beitrag zum Thema Eigenschaften und Filter: http://wiki.shopware.de/Artikeleigensch … l_890.html Gruß Patrick

1 „Gefällt mir“

[quote=“Patrick Schücker”]Hallo nando, also eine solch großen Import solltest du auf jeden Fall aufteilen in mehrere kleine. Vielleicht überdenkst du auch noch einmal dein Konzept. Vielleicht kannst du etliche Kategorien sparen wenn du mit Eigenschaften arbeitest und diese dann filterst. Hier ein Wiki-Beitrag zum Thema Eigenschaften und Filter: http://wiki.shopware.de/Artikeleigensch … l_890.html Gruß Patrick[/quote] Hi Patrick, danke für Deine Antwort… die Idee mit den Eigenschaften hatte ich auch schon. Nur wie bekomme ich dann die Eigenschaften alle in das System…? Sind dann ja so viele (über 12000) ? Import gibts leider nicht… Dann müsste ich ja auf sql-Ebene die Daten einpflegen… (Was ich eigentlich auch für die Kategorien machen kann, oder?) Angenommen ich importiere die 12000 Kategorien direkt über mysql, reicht das dann, wenn ich die Kategorien in die s_categories Tabelle importiere? Oder muss da noch was passieren?? Gruß Marco

So, habe die Kategorien manuell importiert. Das Importieren von 12500 Kategorien hat keine Minute gedauert… Aber jetzt glüht die Kiste… Es werden dauernd Kommandos wie diese abgefeuert: Query UPDATE s_categories c SET c.right = c.right + 2 WHERE c.right >= ‘1262’ Query SELECT s0_.id AS id0 FROM s_categories s0_ WHERE s0_.left <= 1756 AND s0_.right >= 1757 ORDER BY s0_.left ASC Was genau passiert da gerade? Kann mir das jemand sagen? Er berechnet die right-Werte… Aber was is das? Gruß Nando

annst du die kategorien im shop öffnen?

Hi, In Shopware 4 verwenden wir nested Sets für unsere Baumstruktur: de.m.wikipedia.org/wiki/Nested_Sets#section_2 Wenn die Sets nicht richtig erzeugt wurden, beispielsweise, weil die Kategorien nur über die alte Parent-Struktur angelegt wurden, wird versucht, die Sets automatisch zu reparieren. Das ist etwas “teurer” beim Erstellen, bringt aber bei einigen Queries Vorteile.

[quote=“leseaw”]annst du die kategorien im shop öffnen?[/quote] nein, beide cores auf 100% seit gestern abend… komme nicht aufs frontend… mytop zeigt weiterhin die ganze zeit diese abfragen… :frowning:

[quote=„Daniel Nögel“]Hi, In Shopware 4 verwenden wir nested Sets für unsere Baumstruktur: de.m.wikipedia.org/wiki/Nested_Sets#section_2 Wenn die Sets nicht richtig erzeugt wurden, beispielsweise, weil die Kategorien nur über die alte Parent-Struktur angelegt wurden, wird versucht, die Sets automatisch zu reparieren. Das ist etwas „teurer“ beim Erstellen, bringt aber bei einigen Queries Vorteile.[/quote] Hi danke für die Info, ok er versucht also eine Baumstruktur aufzubauen, ok… aber die gleichen Sachen / Abfragen wurden auch gestartet, als ich z.B. 1000 Kategorien über das Backend importieren wollte…? „Etwas teuer“ ist ja relativ… D.h, er sollte irgendwann fertig werden mit der Optimierung/Reparatur, also dem Einsortieren in den Baum? Dann warte ich noch mal… :slight_smile: Gruß

Ich habe ein Ähnliches Scenario … wenn auch es sich nicht um Autoteile handelt. Aber mal ehrlich ob nun 1000 oder 12.000 Kategorien bei mir sind es 4600 wir reden hier von ner Datenbank das sollte doch kein Ding sein solange es keine 1.000.000 oder mehr sind… ganz optimal ist es nicht man könnte ja mit paar Minuten leben aber wenns mehr wie 10 Minuten sind wird es hässlich … Habe selbes Problem auch bei den Produktimport ich habe ca. 40.000 Produkte und sitze nun schon seid 2 Tagen am Import da ich schnell auf den Trichter gekommen bin das mann es in kleinere Teile splitten muss … das kann die Konkurrenz wirklich besser und das sollte auch dringend optimiert werden Wartezeiten von mehr wie 5 Minuten beim Import von 1000 Artikeln sind kaum hinnehmbar. Ich habe nun schon den PHP zugewiesenen Speicher erhöht so schafft das System wenigstens 1000 Artikel am Stück … aber mal ehrlich 1000 Artikel sollten in wenigen Sekunden importiert werden können und 40.000 sollten genauso Problemlos an einem Stück in wenigen Sekunden importiert werden können wir reden hier schließlich von paar Datensätzen. Ansonsten muss ich sagen gefällt mir Shopware sehr gut !!!