Willkommen in der Webstatt Zum Webstatt Blog und Stories
Spark am 03.02.08 20:25

Hi.
Ich betreiber jetzt seit über einem Jahr eine Seite die mit Ajax arbeitet.
Jetzt habe ich seit einiger Zeit das Problem das mein Apache immer wieder abgeschossen wird, da ich zu viele Anfragen vom Client auf einmal bekomme.
Habe mir das Problem dann mal mit dem Firefox Addon "FireBug" angesehen und festgestellt das die setInterval Funktionen etwas unregelmäßig aufgerufen werden! Teilweise kommen auf einmal auch zehn Aufrufe auf einmal rein.
Da ich das Problem noch nie hatte und auch seit einem Jahr nichts an der Seite oder an den Einstellungen meines Servers geändert habe, gehe ich mal davon aus das es ein Bug im Firefox 2.0.0.11 sein könnte. Hat jemand schonmal etwas davon gehört?

Um einmal zu verdeutlichen wie die Funktionen zeitlich verarbeitet werden hab ich mal ein Screenshot und den Quellcode der setInterval Aufrufe beigelegt.

var refreshUserInfoTime = 120; //Alle 2min.
var refreshShoutboxTime = 30; //Alle 30sek.
var refreshOnlineListTime = 60; //Alle 60sek.
var refreshNewsTime = 300; //Alle 5min.

var refreshUserInfo = window.setInterval("loadUserInfo()", refreshUserInfoTime*1000);
var refreshShoutbox = window.setInterval("loadShoutbox()", refreshShoutboxTime*1000);
var refreshOnlinelist = window.setInterval("loadOnlinelist()", refreshOnlineListTime*1000);
var refreshNews = window.setInterval("loadNews()", refreshNewsTime*1000);


[IMG]http://mitglied.lycos.de/money666/tmp/setinterval.jpg[/IMG]
[SIZE=12](Die ersten drei Requests werden beim Aufruf der Seite geladen!)[/SIZE]

netcup.de Warum gibt es hier Werbung?
der_nic der_nic am 03.02.08 20:35

Was sagen denn die Serverlogs?

Spark am 03.02.08 21:31

In den Logs steht das zu viele Clientanfragen auf einmal gefordert wurden.

Es könnte vielleicht auch am XMLHttpRequest liegen. Habe gerade mal zwischen den Funktionen, welche die Inhalte neu laden (also loadUserInfo() usw.) ein alert() gesetzt. Dadurch wird das nächste setInterval ja erst abgearbeitet wenn die Alert-Box geschlossen wurde.
So wurde alles ordnungsgemäß ausgeführt, aber das ist ja nun auch nicht die Lösung des Problems :)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt