Backup einspielen nicht möglich

In diesem Forum können Fragen zum OrderSprinter gestellt werden.
alfredhaslinger
Beiträge: 24
Registriert: Mo 8. Okt 2018, 22:26
Kontaktdaten:

Backup einspielen nicht möglich

Beitrag von alfredhaslinger »

Aktuell kann mit der Version 1.5.29 kein Backup eingespielt werden. Es kommt auch das Bestätigungsfenster nicht. Fehlerbild: Keine Kellner, zur Auswahl, Anmeldung nicht mehr möglich. Gibt's da gerade ein Problem?
Laptop i5 / Windows Printserver / ubiquiti AP-Mesh / ubiquiti AP-Pro / 3 x WLAN Drucker
Laptop i5 / 3 x Raspi Printer / ubiquiti AP-Mesh / ubiquiti AP-Pro
Festl von 20 - 130 Tische | bis 15 Kellner | 50 Bons je Minute
pichel
Administrator
Beiträge: 1447
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Backup einspielen nicht möglich

Beitrag von pichel »

Nein, nicht dass ich wüsste. Ich habe mit der 1.5.29 auch schon mehrfach Backups eingespielt.

Stimmt denn der Wert für memory_limit in der php.ini, d.h. ist er groß genug? Ein Blick in die Logdatei error.log des Webservers hilft weiter. Wenn da was von memory allocation steht, ist der Wert memory_limit zu klein.
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
alfredhaslinger
Beiträge: 24
Registriert: Mo 8. Okt 2018, 22:26
Kontaktdaten:

Re: Backup einspielen nicht möglich

Beitrag von alfredhaslinger »

OK. Hab bei dem einen System wieder 1.5.27 aufgespielt - dann funktioniert der Import hier wieder. Andere Systeme waren nicht betroffen. Komisch, dem muss ich noch nachgehen.
Laptop i5 / Windows Printserver / ubiquiti AP-Mesh / ubiquiti AP-Pro / 3 x WLAN Drucker
Laptop i5 / 3 x Raspi Printer / ubiquiti AP-Mesh / ubiquiti AP-Pro
Festl von 20 - 130 Tische | bis 15 Kellner | 50 Bons je Minute
pichel
Administrator
Beiträge: 1447
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Backup einspielen nicht möglich

Beitrag von pichel »

Mit Version 1.5.29 importiere ich Backups in Chunks der Größe 20, damit der Import schneller geht (das macht einen Faktor 10-15 aus). Nun kann es natürlich sein, dass in der mysql-Konfiguration bestimmte Maximalwerte sehr winzig eingestellt sind (z.B. max_allowed_packet), so dass der Import damit abschmiert.

Mehr Aufschluss bekommt man, wenn man sich die error.log des Webservers und das Log des DB-Engine anschaut.

Jetzt gibt es verschiedene Möglichkeiten:
1. in der admin.php den Wert für chunkSize von 20 auf einen niedrigeren Wert runtersetzen (Achtung chunkSize ist an verschiedenen Stellen gesetzt - alle müssen dann anpasst werden!). Das macht den Import wieder langsamer!
2. Die Konfiguration der mysql (Datei my.ini) anpassen.
3. Für Export und Import mysql bzw, mysqldun verwenden (würde ich aber nicht empfehlen, da man sich damit die Möglichkeit nimmt, den Import in einer anderen Installation ohne Anpassung der config.php wg. prefix einzuspielen)
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
MartinH

Re: Backup einspielen nicht möglich

Beitrag von MartinH »

Hallo Alfred,

ich hab den OS 1.5.29 gerade mit einer aktuellen XAMPP-Version neu aufgesetzt und hab das selbe Verhalten wie du beobachten können.

Anpassung der mysql-Config brachte dann Abhilfe.

Standardmäßig ist max_allowed_packet auf 1M eingestellt. Damit schmiert der import ab.

Hab mal auf max_allowed_packet = 16M erhöht und der Import geht durch.

VIele Grüße

Martin
pichel
Administrator
Beiträge: 1447
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Backup einspielen nicht möglich

Beitrag von pichel »

Die Voreinstellung der max_allowed_packet von MySQL/MariaDB ist offenbar von Installation zu Installation verschieden. Leider kenne ich keine Möglichkeit, rein mit PHP-Mitteln und plattformunabhängig zu ermitteln, welchen Wert die Variable hat.

Je größer der Wert ist, desto mehr Daten lassen sich pro SQL-INSERT-Anweisung übermitteln und damit die Dauer des Gesamtimportvorgangs erheblich verkürzen.

Ich überlege, in OrderSprinter eine Fallback-Lösung einzubauen, bei der bei einem fehlgeschlagenen INSERT-Vorgang wieder auf die kleinen Datenblöcke umgeschaltet wird. Mal schauen...

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
alfredhaslinger
Beiträge: 24
Registriert: Mo 8. Okt 2018, 22:26
Kontaktdaten:

Re: Backup einspielen nicht möglich

Beitrag von alfredhaslinger »

entschuldigt meine späte Antwort.
Problem lagan der mysql.ini. Irgendwie komisch, aber anscheinend hatte ich vergessen, bei dem Server die Anpassungen vorzunehmen und dies machte sich mit Version 1.5.29 erst bemerkbar. Funktioniert jetzt wieder tadellos!
Laptop i5 / Windows Printserver / ubiquiti AP-Mesh / ubiquiti AP-Pro / 3 x WLAN Drucker
Laptop i5 / 3 x Raspi Printer / ubiquiti AP-Mesh / ubiquiti AP-Pro
Festl von 20 - 130 Tische | bis 15 Kellner | 50 Bons je Minute
pichel
Administrator
Beiträge: 1447
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Backup einspielen nicht möglich

Beitrag von pichel »

Hallo Alfred,

in der 1.5.29 habe ich zwecks Beschleunigung des Datenimports eingebaut, dass mehrere Datensätze gleichzeitig mit einer INSERT-Anweisung in die DB eingefügt werden. Dabei hatte ich allerdings unterschätzt, wie klein der max_allowed_packet Wert bei vielen MySql-Installationen voreingestellt ist.

Wahrscheinlich werde ich die Anzahl der Datensätze pro INSERT in einer der nächsten Versionen wieder verkleinern zulasten der Performance oder konfigurierbar machen.

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Antworten