Varianten generieren - Performance

Hallo zusammen,

in einem unserer Shops haben wir ein Produkt mit einer ordentlichen Anzahl an Varianten – wir sprechen von rund 500.000 Variationen. Im Grunde gibt es nur einen Hauptartikel, aus dem wir alle Varianten über die Eigenschaften ableiten können.

Hardwareseitig sind wir sehr gut aufgestellt, und auch softwareseitig erfüllen wir alle Voraussetzungen, um mit Shopware 6 (aktuelle Version: 6.6.10.3) performant zu arbeiten. Die gängigen Performance-Tweaks aus der offiziellen Doku haben wir ebenfalls bereits umgesetzt.

Mir ist bewusst, dass Shopware unseren Use-Case in dieser Dimension vermutlich nicht abbilden will – trotzdem möchte ich mal in die Runde fragen:

Gibt es eine Möglichkeit, die „Chunk-“ bzw. „Batch-Size“ beim Varianten-Generieren zu erhöhen? Ich bin mir nicht sicher, warum das Generieren aktuell so viel Zeit verschlingt. Ob das überhaupt der Flaschenhals ist, kann ich schwer sagen – aber auf Serverseite hätten wir definitiv noch Luft nach oben. Der Engpass scheint also irgendwo auf Software-Ebene zu liegen. Eventuell das Indexing?

Tatsächlich sind wir soweit, dass wir ca. 500.000 Varianten ohne Absturz über das Backend anlegen können, der Vorgang dauert aber bis zu 6 Stunden.

Wichtig wäre für uns vor allem, dass das Generieren weiterhin über das Backend funktioniert.

Unabhängig ob das jetzt schön, unschön, sicher, unsicher, schlau oder dumm ist - hat hier jemand Erfahrungen damit oder eine Idee, wie man das beschleunigen könnte?

Gruß,
Schmidt

Wenn ihr soviele SKUs habt, gehe ich davon aus, dass ihr auch einen kommerziellen Plan von Shopware habt.

Daher, und um schneller eine Antwort zu erhalten, würde ich empfehlen ein Ticket auf account.shopware.com zu erstellen.

Kannst du mal die Website nennen, damit man sich das mal anschauen kann? Ein Variantendropdown mit einem 2achsiges Produkt wird hier ja sicherlich nicht reichen.

Worin liegt das Problem, wenn der Vorgang einmalig 6 Stunden dauert?

Der Flaschenhals ist PHP und Doctrine. Würdet ihr die Varianten direkt über die Datenbank anlegen, dann würde das extrem viel schneller gehen. Ab wie bereits gefragt, worin besteht das Problem bei einer einmaligen Aktion?

Habe erst bei einem Kunden die Varianten aufgeräumt und die Neuzordnungen komplett über die Datenbank gemacht. Sind eigentlich nur 3 Stellen, die man anfassen musst.

@schmidt Wenn das nur einmal oder hin und wieder gemacht wird, würde ich vermutlich damit leben. Ansonsten ne eigene Erweiterung schreiben, die die Varianten via DB deutlich schneller generiert.