molily: memory limit - timeout

Beitrag lesen

Hallo!

Meine Frage, wenn ich sie abrufe und zwischenspeichere, nach 5 Minuten die Seite wieder neu aufbaue, muss ich doch wieder im Originalfeed nachschauen, ob sich was geändert hat

Ja, richtig.

damit muss ich doch wieder die einzelnen feeds holen und wieder in die cache-Datei schreiben usw.

Ja, richtig.

Dadurch wird doch das Laden nicht kürzer.

Einmal im Zeitintervall dauert *ein* Request lange, alle anderen Request werden blitzschnell aus dem Cache beantwortet. Daher mein Vorschlag (bzw. der Vorschlag des Helpdesk-Mitarbeiters), pro Feed einen Server-Request zu machen (mit JavaScript, XMLHttpRequest).

Wenn das Script nur für einen Feed ausgeführt wird, muss es auch nur einen Feed pro Zeitintervall holen. Das braucht serverseitig wenig Speicher und dauert nicht lange. *Einzeln* betrachtet, versteht sich. *In der Summe* ist es mindestens gleich langsam und sogar speicherintensiver, da viele PHP-Scripte parallel ausgeführt werden. Auch das Laden der Seite dauert länger, da viele HTTP-Requests parallel geöffnet werden. Eine Methode der Performance-Optimierung ist, HTTP-Requests möglich zu minimieren (zumindest bei HTTP 1.x).

Aber hier geht es ja darum, das Memory-Limit und die Ausführungszeit des Scriptes pro Request zu verringern. Es ist besser, dass die Seite langsamer lädt und viele Server-Requests gemacht werden, als dass das Script das Memory-Limit (memory_limit) oder die maximale Ausführungszeit (max_execution_time) überschreitet.

Den Zeitintervall würde ich durchaus hoch ansetzen, 10 Minuten reichen doch für die meisten Newsticker aus. Das ist ja nicht Twitter, es muss nicht in Echtzeit sein..

Vronjobs wären halt gut, weil dann immer schon im Hintergrund die feeds geladen würden und man immer schon etwas vorfände, wenn man die Seite aufruft.

Ja, klar, Cronjobs wären die bessere Alternative, die hier aber nicht zur Verfügung steht.

Mathias