Hallo.
Ich habe festgestellt, dass der W500V, sobald er eine online-Verbindung aufgebaut hat, immer träger reagiert. Die CPU-Auslastung auf dem WebInterface wird auch immer höher. Ich habe dann mal per telnet und "top" festgestellt, dass der thttpd-server teilweise dauernd über 70% CPU benötigt. Durch Inspiration auf einem anderen Forum (Problem mit thttpd und Datum) habe ich mal rumexperimentiert. Wenn ich den NTP-Server ausschalte, bleibt der W500V zügig unterwegs. Ich habe dann mal testweise denn nvram resettet und den Router neugestartet. Wenn man jetzt den Router hochfahren lässt (mit jungfräulichen nvram), per Telnet eine top-session laufen lässt, scheint zunächst alles normal. Sobald man aber mit "date" das aktuelle Datum einstellt, genehmigt sich der thttpd 70% der CPU. Ich hab dann mal (wie aus dem anderen Forum) den thttpd gekillt und siehe da, der thttpd startet neu mit äußerst gemäßigter Auslastung. Kann das mit dem in dem anderen Forum angesprochenem "Dauer-Gelogge" über den syslogd zusammenhängen??? Weil der syslogd pendelt währenddessen auch immer zwischen 20% - 30%. Nach dem Killen des thttpd ist der syslogd auch wieder normal.
Danke schonmal im Voraus.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Das war wirklich mal ein guter Hinweis und ich konnte das Problem auch bei mir nachvollziehen.
Nach Überprüfung der thttpd-Sourcen hab ich auch ein Flag gefunden was das ganze ausschaltet.
Mit dem nächsten Release werden sowohl die Timer-Meldungen als auch die hohe CPU-Last
durch das sekündliche Stats-Logging behoben sein.
Danke nochmal an alle die sich damit beschäftigt haben!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So, ich hab das neue Release mal diesbezüglich getestet. (Aber erstmal danke für das neue Release.)
Da hab ich eine gute und eine schlechte Nachricht. Die Schlechte ist, dass der thttpd-Server nach der Datumsänderung immer noch "durchdreht", nur dass er nicht mehr 70% CPU hat, sondern mittlerweile 98%, da der syslogd bei 0-1% bleibt. Komischerweise scheint das nicht bei allen Daten zu passieren. Naja, wie dem auch sei... Die Gute jedoch ist, dass sich der thttpd-Server nach ca. 40 sec. selbst wieder "beruhigt". Auch scheint er nicht abzustürzen, weil im "top" der thttpd die gleiche PID behält. Ist aber jetzt erstmal ein Test mit neuaufgesetztem Image und Datumsänderung per telnet (mit ner 2. telnet-session hab ich mir "top"anzeigen lassen). Wie er reagiert, wenn er direkt am DSL hängt und noch anderes Zeugs ausführt, hab ich noch nicht ausprobiert (Kann meiner WG gerade nicht das Internet klauen ;-) ). Wahrscheinlich wird der Router dann die 1. Minute nach Datumsänderung träge sein, danach dürfte er sich normalisieren.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ja du hast Recht, ich habs nochmal geprüft. Hab das leider beim letzten Test nicht bemerkt weil ich mich vornehmlich auf die Syslog-Ausgaben konzentriert hab.
Bei mir dauert es so 15-25s bis sich der thttpd beruhigt hat, das kann mal also noch grade so verkraften.
Also mal zur Erklärung, der thttpd führt intern einige Timerlisten. Die meisten dieser Timer Lösen im Millisekunden oder Sekundenbereich aus. Stellt man jetzt die Zeit um ein paar Jahre vor, dann Lösen diese Timer erst mehrere Millionen mal aus und werden dabei immer um die Timeout Zeit (also nur ein paar Sekunden meist) erhöht.
Ich hab da eine Kleinigkeit im Quellcode vom thttpd geändert, sodaß Sprünge von mehr als 10min nicht zum Auslösen eines Timers führen, sondern stattdessen der Timer auf die aktuelle Systemzeit gesetzt wird. Habs grad getestet und scheint zu funktionieren, der thttpd bleibt jetzt cool wenn die Zeit geändert wird.
Das wird dann im nächsten Release drin sein und das Problem sollte hoffentlich entgültig behoben sein.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo.
Ich habe festgestellt, dass der W500V, sobald er eine online-Verbindung aufgebaut hat, immer träger reagiert. Die CPU-Auslastung auf dem WebInterface wird auch immer höher. Ich habe dann mal per telnet und "top" festgestellt, dass der thttpd-server teilweise dauernd über 70% CPU benötigt. Durch Inspiration auf einem anderen Forum (Problem mit thttpd und Datum) habe ich mal rumexperimentiert. Wenn ich den NTP-Server ausschalte, bleibt der W500V zügig unterwegs. Ich habe dann mal testweise denn nvram resettet und den Router neugestartet. Wenn man jetzt den Router hochfahren lässt (mit jungfräulichen nvram), per Telnet eine top-session laufen lässt, scheint zunächst alles normal. Sobald man aber mit "date" das aktuelle Datum einstellt, genehmigt sich der thttpd 70% der CPU. Ich hab dann mal (wie aus dem anderen Forum) den thttpd gekillt und siehe da, der thttpd startet neu mit äußerst gemäßigter Auslastung. Kann das mit dem in dem anderen Forum angesprochenem "Dauer-Gelogge" über den syslogd zusammenhängen??? Weil der syslogd pendelt währenddessen auch immer zwischen 20% - 30%. Nach dem Killen des thttpd ist der syslogd auch wieder normal.
Danke schonmal im Voraus.
Das war wirklich mal ein guter Hinweis und ich konnte das Problem auch bei mir nachvollziehen.
Nach Überprüfung der thttpd-Sourcen hab ich auch ein Flag gefunden was das ganze ausschaltet.
Mit dem nächsten Release werden sowohl die Timer-Meldungen als auch die hohe CPU-Last
durch das sekündliche Stats-Logging behoben sein.
Danke nochmal an alle die sich damit beschäftigt haben!
Keine Ursache und Danke für das Lösen des Problems. Bin schon sehr gespannt auf das neue Release.
So, ich hab das neue Release mal diesbezüglich getestet. (Aber erstmal danke für das neue Release.)
Da hab ich eine gute und eine schlechte Nachricht. Die Schlechte ist, dass der thttpd-Server nach der Datumsänderung immer noch "durchdreht", nur dass er nicht mehr 70% CPU hat, sondern mittlerweile 98%, da der syslogd bei 0-1% bleibt. Komischerweise scheint das nicht bei allen Daten zu passieren. Naja, wie dem auch sei... Die Gute jedoch ist, dass sich der thttpd-Server nach ca. 40 sec. selbst wieder "beruhigt". Auch scheint er nicht abzustürzen, weil im "top" der thttpd die gleiche PID behält. Ist aber jetzt erstmal ein Test mit neuaufgesetztem Image und Datumsänderung per telnet (mit ner 2. telnet-session hab ich mir "top"anzeigen lassen). Wie er reagiert, wenn er direkt am DSL hängt und noch anderes Zeugs ausführt, hab ich noch nicht ausprobiert (Kann meiner WG gerade nicht das Internet klauen ;-) ). Wahrscheinlich wird der Router dann die 1. Minute nach Datumsänderung träge sein, danach dürfte er sich normalisieren.
Ja du hast Recht, ich habs nochmal geprüft. Hab das leider beim letzten Test nicht bemerkt weil ich mich vornehmlich auf die Syslog-Ausgaben konzentriert hab.
Bei mir dauert es so 15-25s bis sich der thttpd beruhigt hat, das kann mal also noch grade so verkraften.
Also mal zur Erklärung, der thttpd führt intern einige Timerlisten. Die meisten dieser Timer Lösen im Millisekunden oder Sekundenbereich aus. Stellt man jetzt die Zeit um ein paar Jahre vor, dann Lösen diese Timer erst mehrere Millionen mal aus und werden dabei immer um die Timeout Zeit (also nur ein paar Sekunden meist) erhöht.
Ich hab da eine Kleinigkeit im Quellcode vom thttpd geändert, sodaß Sprünge von mehr als 10min nicht zum Auslösen eines Timers führen, sondern stattdessen der Timer auf die aktuelle Systemzeit gesetzt wird. Habs grad getestet und scheint zu funktionieren, der thttpd bleibt jetzt cool wenn die Zeit geändert wird.
Das wird dann im nächsten Release drin sein und das Problem sollte hoffentlich entgültig behoben sein.