Seite 1 von 1

Einstellungen

Verfasst: 4. Mär 2018, 14:16
von Offe
Auf dem Raspberry mit PHP 7 bekomme ich beim Anklicken von Einstellungen folgende Fehlermeldung
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/adm_program/system/classes/Language.php on line 441
Dies habe ich auf dem Webserver (PHP 5.6) nicht. Der Raspberry 1 ist jedoch auch nicht so leistungsfähig, sollte ja aber für die Seite dennoch reichen.

Wenn man die Seite mit F5 aktualisiert, erscheint diese ohne Fehler.

Gruß Offe

Re: Einstellungen

Verfasst: 5. Mär 2018, 11:03
von XimeX
Könntest du mal $gDebug = true; setzen und die logs posten. Dann kann ich mir anschauen wo diese lange Laufzeit entsteht

Re: Einstellungen

Verfasst: 5. Mär 2018, 12:25
von fasse
Ich vermute, dass es durch die vielen Übersetzungsstrings ist, welche einmalig eingelesen werden. Danach sind sie im Cache und der 2. Aufruf ist schnell. Das Phänomen habe ich auch bei mir Lokal beobachtet, wenn auch zum Glück mit schnelleren Laufzeiten.

Re: Einstellungen

Verfasst: 5. Mär 2018, 22:00
von Offe
Im Anhang das Debug-Logfile. Der erste Request ist wieder mit dem oben genannten Fehler abgebrochen, danach habe ich noch ein F5 ausgeführt und die Seite wurde korrekt geladen.

Re: Einstellungen

Verfasst: 6. Mär 2018, 01:29
von XimeX
Bitte die aktuelle Version holen und nochmal das Log schicken. Hab jetzt paar logging infos für die execution time hinzugefügt.
Man sieht an den Logs das er beim ersten mal 30sec läuft und dann abbricht. Aber ich kann noch nicht rauslesen wo es genau scheitert

Re: Einstellungen

Verfasst: 6. Mär 2018, 08:53
von Offe
Gleiches Szenario , im Anhang das Logfile

Re: Einstellungen

Verfasst: 6. Mär 2018, 10:46
von XimeX
Also er braucht alleine nur für die Translation strings zum nachschauen 249x länger als 0,1sec (=24,9sec). Dann kommt noch bissl anderes Zeugs zusammen und dadurch werden die 30sec überschritten. Mal schauen wie man das optimieren kann.

Beim 2 aufruf dauert es durch den cache meist nur ~0,00005sec pro String

Für Datenbank queries braucht er 1x 0,3sec (UPDATE) und sonst weniger als 0,02sec

Re: Einstellungen

Verfasst: 6. Mär 2018, 11:51
von XimeX
Bitte mit der neuesten Version nochmal testen. Gab da einen Bug im Caching. Hab auch das logging nochmals verbessert.
Bitte nochmals Log posten

Re: Einstellungen

Verfasst: 6. Mär 2018, 20:11
von Offe
Im Anhang findest du das Logfile. Habe die gleichen Aktionen durchgeführt. Es hat zwar einige Sekunden gedauert, jedoch nicht so lange, dass es in den Timeout gelaufen ist.

Re: Einstellungen

Verfasst: 6. Mär 2018, 22:12
von XimeX
Ok das caching funktioniert jetzt.
Der erste request dauert bei dir ~11sec. Wenn ich das richtig sehe bremst hier die suche im xml file (eigentlich SimpleXMLElement). Hier dauert beim ersten suchen pro translation id etwa 26ms. Wenn es dann mal gecached ist dauert der zugriff nur mehr 0,035ms. Also fast das 1000 fache schneller.

Der Raspberry 1 ist ja jetzt auch so ziemlich das langsamste das verwendet wird für Admidio. Also wenns mit dem läuft sollte es keine Probleme geben

Re: Einstellungen

Verfasst: 7. Mär 2018, 22:20
von fasse
Wir sollten aber das Logging beim Einlesen der Texte nicht dauerhaft drin lassen, da findet man sonst vor lauter scrollen die wichtigsten Dinge nicht.

Re: Einstellungen

Verfasst: 7. Mär 2018, 22:38
von XimeX
Dann aber bitte den code nur auskommentieren. Für die v4.0 will ich das Logging sowieso genauer einstellbar machen

Re: Einstellungen

Verfasst: 11. Mär 2018, 18:11
von fasse
Ich hab es jetzt mal auskommentiert.