*.csv Produktimport - die gefühlt 1236ste

hallo gemeinde, nach dem motto “und täglich grüßt das murmeltier” vergeht keine woche, in der nicht irgendwelche probleme beim import von produkten auftreten. mit der version 4.0.5 hat es zum schluss ja fast geklappt, wie ich mir das vorstelle. nach dem update auf 4.0.6 stirbt jedesmal, wenn ich nur versuche 500 produkte zu importieren, mein managed virtuell server bei hosteurope ab. 503 503 503 langsam aber sicher nervt es richtig. bitte nicht falsch verstehen. shopware ist absolut genial und in meinen augen “dem grunde nach” das beste shopsystem, welches ich in den letzten jahren erleben durfte, ein mächtiges werkzeug und eine geniale und funktionierende community. aaaaber: die performanceprobleme, sowie die importprobleme machen mir das leben mehr als zur hölle. für den produktiveinsatz ist shopware genau wegen den 2 punkten nicht zu empfehlen. performance: seit dem update auf 4.0 steigen meine absprungraten signifikant an…kein wunder bei seitenladezeiten von 15 sekunden. aber dazu brauch ich mir ja keine sorgen zu machen, da ich seit 4.0.6 nicht einmal mehr produkte importieren kann und somit der kunde sowieso nicht findet, was er sucht… zusammenfassend: shopware gefällt mir sehr gut. es ist intuitiv zu bedienen, designveränderungen können schnell umgesetzt werden und alle wichtigen funktionen sind vorhanden. aaber bittttte bitttte bitttte wenigstens die importfunktion MUSS funktionieren. grüße robert

Hey! Ich weiß zwar nicht, was du bist jetzt schon ausprobiert hast, aber versuch doch mal bei deinem Server die max_execution_time mal etwas hoch zu drehn, z.B. auf 600 Sekunden. Evt. hilft das ja. Wieviele Artikel sind es Insgesammt die Importiert werden sollen?

vielen dank für den tipp, das hatte ich bereits mit der version 4.0.5 versucht und konnte somit produkte recht ordentlich importieren. bei der 4.0.6 version sorgt der import jedoch zum absturz des mysql servers. ich warte derzeit noch auf die technische analyse seitens des hosters. mfg robert

Ich habe den Import bisher noch nie benutzt, aber nur mal als Idee. Kann man nicht einfach immer 100 Artikel importieren und dann wieder 100 Artikel?

Das ist durchaus möglich, aber bei über 40.000 Artikeln und über 122.000 Preisen ist das eine sehr lange Prozedur.

Wir haben genau so ein Tool für den Import (Abgleich) der Lieferantendaten zu unsere WaWi namens unilukas. Wir überlegen nun auch so ein Tool direkt zu Shopware anzubieten. Soll heißen, dass die Daten der XLS, TXT, CSV, etc. Datei dann mit Wenn-Dann Verknüpfungen direkt in Shopware geladen werden können. Bsp: SPALTE A + SPALTE B zusammen in die Langbeschreibung. Wenn in Spalte D der Wert 10 steht, dann schreibe in Shopware in das Feld xxx was rein, etc. Also alles flexibel. Das so speicherbar für unterschiedliche beliebig viele Dateien. Zudem ob es ein reiner Import werden soll oder ein Abgleich, soll heißen, Zeilen die es in XLS nicht mehr gibt auf deaktiviert setzen z.B. weil der Lieferant nicht mehr liefern kann, etc. Was wäre euch so ein Tool / Monat Wert? Ist überhaupt Bedarf da? Lt. diesem Thread gibt es anscheinend doch viele Probleme beim Import in Shopware. Mit diesem Tool (Windows Basis) könnte man relativ schnell tausende Artikel samt Zubehör und Bilder in Shopware 4.x bringen. Genauere Datails müssten noch definiert werden.

Hallo, nach meinem letzten versuch produkte zu importieren und der server kurzzeitig nicht erreichbar war, habe ich bei hosteurope um eine technische analyse gebeten mit dem ergebnis: mir bleibt nichts anderes übrig als ein größeres paket zu buchen. das aktuelle paket webserver basic L mit 1Gig ram ist zu klein. hier noch die antwort von hosteurope: „Der Server ist während des Imports am 18.02. out of memory (kein freier RAM mehr) gelaufen. In den angehängten Serverstatistiken ist ersichtlich, dass dies passierte als dort sehr viele Webserver (Apache) Prozesse liefen. Sofern Sie die Möglichkeit haben, sollte der Import in kleineren Schritte durchgeführt werden, sodass weniger Webserverprozesse gestartet werden. Alternativ ist auch ein Upgrade auf das nächstgrößere Paket möglich, da das aktuelle Paket schon recht stark ausgelastet ist. Wir hoffen Ihnen mit diesen Angaben weitergeholfen zu haben. Für weitere Fragen stehen wir Ihnen gern zur Verfügung.“ ein paar bilderchen mit der serverauslastung haben sie mir auch gleich angehängt, auf denen selbst ein nicht-techniker wie erkennen kann, dass mehr ram durchaus sinnvoll sind, aber langsam wird es echt zeit, dass ich alle produkte inkl varianten in meinen shop bekomme. meine frau beschwert sich schon, dass ich immer mehr graue haare bekomme. mit freundlichen grüßen robert

…und jetzt noch eine frage an die techniker unter euch, bzw diejenigen mit erfahrungen bzgl. des importskriptes: Angenommen ich lass den ram von 1 gb auf 4 gb erhöhen. versucht das skript dann die kompletten 4 gb zu verwenden??? denn dann würde mein server ja wieder “out of memory” laufen, was für mich keinen sinn macht. grüße robert

Ich (als “Techniker”) kann ehrlich gesagt nicht verstehen, warum ein Importskript überhaupt so viel Speicher benötigen sollte… der notwendige Speicher dürfte pro Importdatensatz eigentlich nicht großartig ansteigen. Ist dieser importiert, sollte er aus dem Speicher auch wieder verschwinden… Es gibt natürlich einen gewissen Overhead je mehr Produkte vorhanden/importiert werden, aber er sollte sich irgendwo logarithmisch bewegen, da der Speicherbedarf pro Datensatz ja weitestgehend unabhängig von allen anderen Datensätzen ist. Ich würde hier vermuten, dass es entweder ein Leak im Skript gibt, oder es vielleicht einfach bloß unsauber erstellt wurde. Als Vergleich: Bei meinem früheren Arbeitgeber importieren wir täglich ca. 300.000 - 400.000 Artikel aus einer CSV Datei in eine angepasste Shopwaredatenbank (v3.5). Dieser Vorgang dauert ca. 15-20 Minuten, der Peak beim Speicherverbrauch liegt irgendwo zwischen 80 und 150MB (das memory limit, also der maximale Arbeitsspeicher, den ein einzelner PHP Prozess konsumieren darf, liegt dort bei 256MB, soweit ich mich erinnern kann). Am Rande: Den verfügbaren Arbeitsspeicher des Systems zu erhöhen macht dann Sinn, wenn die Besucherzahl nicht mehr verarbeitet werden kann (aber die CPU noch Reserven hat). Es macht per se nichts schneller (wie ich in einem anderen Thread schon mal gelesen habe). Ganz grob gesagt: Freier Arbeitsspeicher / benötigter Arbeitsspeicher pro Request = Anzahl der möglichen konkurrierenden Zugriffe, ohne dass die Auslagerungsdatei bemüht werden muss (denn dann wird’s richtig langsam). Hinzu kommt noch der Speicher für die Datenbankverbindung, etc… ist also nur eine grobe Richtlinie. Aber so oder so ähnlich schreibt es der Support ja auch. Ich weiß nicht genau, wie das Importskript funktioniert, kann mir aber nicht so richtig vorstellen, dass es mehrere PHP Prozesse spawnt. Denkbar wäre vielleicht, dass der Importvorgang die Datenbank blockiert, so dass alle zu dieser Zeit erfolgenden Requests gegen das Frontend “warten” müssen (blockiert sind) und es auf diese Weise zu einem Speicherproblem kommt. Aber das kann ich ohne tiefergehende Analyse natürlich nicht sagen. Könnte aber durchaus einfach bloß eine Folgeerscheinung sein. Als kurzfristige Workaround wäre ein Paketupgrade vielleicht sinnvoll. Alternativ kannst aber vielleicht auch die Daten auf einer anderen Kiste importieren (zur Not lokal) und schiebst dann die Datenbank einfach rüber, falls möglich?!

1 „Gefällt mir“