Migration eines vorhandenen Shops in Version 5 auf neuen Shop in Version 6.
Umgebung
Neuer Server mit Shopware 6
Vorhandene Umgebung mit Shopware 5
Migrationsassistent Plugin (Shops sind verbunden)
Problem
Über die Weboberfläche war es nicht möglich die Migration sauber durchzuführen.
Der Doku zufolge sollte hier nun die migration via CLI ausgeführt werden.
Das haben wir nun auch getan. Wir migrieren jeden part einzeln mit dem migrate tool.
Im Error Log wurde in beiden Fällen eine Out of Memory Exception geworfen.
Zustand jetzt
Wir haben alle memory Limits auf unlimitiert gesetzt (php, fpm, cli) und die Server RAM auf sage und schreibe 55 GB angehoben.
Die write operation der migration (frontend) macht jetzt zumindest Fortschritte.
Der Prozess verbrät die gesamte RAM, wir erreichen bald die 55GB und erhalten wieder eine OOM Exception.
Hat jemand die selben Probleme?
Was für eine Lösung kann hier abhilfe schaffen?
Wieso benötigt der Migration Prozess so viel RAM, das ist nicht normal.
Wenn du das Forum durchsuchst, dann findest du ein paar Beiträge zur Speicherallokation während des Schreibprozesses. Shopware oder Symfony, der „Schuldige“ wurde in den Beiträgen nicht bestimmt, sperrt beim Schreiben ca. 2 MB und gibt diese nicht mehr frei. In einer Schleife sind wir bei 1000 Schreiboperationen dann bei 2 GB gesperrtem (aber nicht benötigtem) Speicherplatz.
Neben dem Speichern wird ja noch weiterer Speicherplatz benötigt… so kommen die Summen zusammen.
Irgendwo habe ich mal gesehen, dass jemand die komplette Klasse umgeschrieben hat und der Speicherbedarf dadurch um gefühlte 99% herunterging. Hatte etwas mit den initiiertem Prozessen (Suche, etc.) nach dem Schreiben zu tun.