Gelöst (413) Request Entity Too Large

Puma7

Sehr aktives Mitglied
4. Mai 2016
403
44
Hi,

ich hab gerade mal die Testphase von Multishop gestartet. Bisher hab ich schon einen Shopware Shop und wollte nun einen 2. Shopware Shop anbinden. Aber bei "GlobalData senden" kommt der Abgleich irgendwie nicht weiter :/

Ich weiß jetzt aber auch nicht wo der Fehler liegen könnte.

Log im Plugin Ordner:
Code:
[2017-12-09 21:02:51] global.INFO: (E_DEPRECATED) File (phar:///var/www/vhosts/XXXXX.com/httpdocs/ShopDir/engine/Shopware/Plugins/Community/Frontend/jtlconnector/connector.phar/vendor/jtl/connector/src/jtl/Connector/Core/Http/Request.php, 207): parse_str(): Calling parse_str() without the result argument is deprecated [] []

Wawi:
Code:
Fehler:
Exception: Der Remoteserver hat einen Fehler zurückgegeben: (413) Request Entity Too Large.
Der Remoteserver hat einen Fehler zurückgegeben: (413) Request Entity Too Large.
GlobalData-Senden-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei jtlCore.ControllerClasses.Connector.Abgleich.EntityAbgleicher.Push.ConnectorGlobalDataPushTask.PushGlobalData(GlobalData globalData)
   bei jtlCore.ControllerClasses.Connector.Abgleich.EntityAbgleicher.Push.ConnectorGlobalDataPushTask.Run()
   bei JTL.Connector.Business.SyncRunner.Run()
 

Puma7

Sehr aktives Mitglied
4. Mai 2016
403
44
Hm,

das wäre komisch. Auf dem selben Server mit den selben Einstellungen läuft auch noch ein anderer Shop, der an die selbe Wawi angebunden ist.
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.233
209
Wie schon zwei mal erwähnt, konfiguriere Deinen Webserver so, dass der HTTP-Body größer sein kann, dann sollte das funktionieren. Vielleicht kann sich JTL ja mal äußern, wie groß denn diese Pakete im Connector werden können.
 

Puma7

Sehr aktives Mitglied
4. Mai 2016
403
44
So,

konnte bisher keinen Grund ausfindig machen. Ich warte mal auf JTL eventuell muss ich dafür mal ein Ticket aufmachen.
 

Daniel B.

Moderator
17. Juni 2009
1.430
40
Hey,

wenn es mit dem ersten Connector und Shopware funktioniert, sollte es auch mit dem Zweiten gehen.

Schau mal bitte welchen Wert die Einstellung client_max_body_size bei deinem Nginx hat.
 

Puma7

Sehr aktives Mitglied
4. Mai 2016
403
44
Ok, hatte jetzt auch mal in den Nginx log geschaut.

Es scheint nun folgendermaßen zu sein. Beim erstellen der Domain in Plesk wurde kein vhosts Datei für die Domain erstellt (irgend ein Fehler durch Plesk). Dadurch ist er auf die Nginx standard Einstellungen zurück gegangen.
Das waren 1 MB client_max_body_size. Die Datei die von der Wawi gesendet wird hat aber ca. 3,3 MB laut Log.
Das 2. Problem nach client_max_body_size war dann der Timeout nach 65 Sekunden, da die Verarbeitung wohl länger als 65 Sekunden dauert.

Ich werde mich heute Abend nochmal dran setzen, aber client_max_body_size ist schon mal behoben.
 

Puma7

Sehr aktives Mitglied
4. Mai 2016
403
44
Ich muss doch mal ein Ticket aufmachen.
client_max_body_size läuft zwar jetzt, aber danach waren die 60-65 Sekunden Timeout zu kurz und bei 600 Sekunden läuft es auch nicht.
GlobaleDaten senden sollte ja jetzt nicht 2 Stunden brauchen. Ich sehe im Log auf dem Wawi Server, dass der Abgleich immer wieder das selbe an den den Server sendet und nach 1 stunde ist der Log dann 100mb groß. An dem Punkt hab ich dann mal abgebrochen.
 

Puma7

Sehr aktives Mitglied
4. Mai 2016
403
44
Hi,

ich habe eigentlich kaum Cross-Selling oder Maßeinheiten. Deshalb wundert mich das auch.
Ich hatte es am Wochenende nochmal probiert, hab dieses mal keine Fehler in den Logs von PHP/nginx/Apache/MySql aber es kommt trotzdem noch zum Timeout nach ca. 10-15 Minuten.

Beide Server sind dedicated bei Hetzner und haben eigentlich mehr als genug Leistung um ein paar Datensätze zu verarbeiten.

Wo könnte ich den mit der Fehlersuche weiter machen?
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.233
209
Ich würde mal die PHP Parameter max_execution_time, max_upload_size u.ä. kontrollieren, ggf. das Loglevel hochschrauben (auch mal Fehler provozieren und schauen ob die geloggt werden).

Dann mal ein htop und iotop während des Uploads laufen lassen und schauen, ob sich da irgendein Flaschenhals zeigt. Und ein "df -h" und schauen ob vll /tmp ggf. /var/tmp voll läuft?
 

Puma7

Sehr aktives Mitglied
4. Mai 2016
403
44
Hi,

max_execution_time ist schon auf 6000 und max_upload_size auf 2000M.

Ich werde mir später das nochmal anschauen.
 

3po

Sehr aktives Mitglied
30. August 2011
2.600
98
unterstützt denn dein Hoster überhaupt solche Werte, die scheinen mir recht utopisch zu sein? In der php.ini kannst ja eintragen was Du willst, ob es unterstützt wird ist eine andere sache!
 

Puma7

Sehr aktives Mitglied
4. Mai 2016
403
44
Hi,

ist ein eigener Server, da sind solche hohen Werte möglich. Ich denke ein Hosting Anbieter würde bei solchen Werten nicht mit gehen.
 

Daniel B.

Moderator
17. Juni 2009
1.430
40
Dann am besten direkt im Kundencenter ein Ticket erstellen. Der Support schaut sich das an. So über das Forum ist das eher schlecht zu debuggen.
 

Puma7

Sehr aktives Mitglied
4. Mai 2016
403
44
Hab nochmal auf das Ticket geantwortet.

Derzeit sieht es so aus das der Connector exakt alle 4 Minuten eine Verbindung zum Server aufbaut. Aber nix passiert.

Der Connector versucht 6588 "Unit" zu senden und 26 "MeasurementUnit". Wenn Unit die Verkaufeinheiten sind wäre das komisch. Dort hab ich eigentlich nur eine und zwar Stk.

Zusatz:
Verwendet der Connector die parse_str variable ohne result parameter? Ich habe auf PHP 7.2 immer den Hinweis im Log das mit 7.2 der result parameter gesetzt werden soll. Ich weis nur nicht ob das im Connector steht oder in einer Datei von Shopware.
 
Zuletzt bearbeitet: