Cenic
Registered User
Ich habe mir ein kleines Tool gebaut, um die Nutzung der Apache-Threads besser beobachten zu können. Es ruft im Sekundentakt die Status-Seite ab und wertet das Scoreboard aus, um daraus die Anzahl der Threads pro Status zu ermitteln. Die Ausgabe ist an vmstat und Freunde angelehnt:
Die Ausgabe sollte beispielsweise erkennen lassen, ob man genügend Threads in Reserve hat, ob KeepAlive zu viele Threads bindet oder ständig Prozesse nachgestartet werden müssen.
Das Tool ist in Perl geschrieben und nutzt das Module LWP::UserAgent, so dass ggfs. das passende Paket nachzuinstallieren ist (bei Debian libwww-perl). Die Statusseite vom Apache erfordert natürlich ein aktiviertes mod_status und es wird per Default die URL http://localhost/apache-status abgefragt, was über einen entsprechenden Parameter aber angepaßt werden kann. Der Aufruf
erklärt das im Detail auch nochmal. Vielleicht findet es jemand nützlich.
Download apachestat
Code:
$ apachestat
Avail ----------Busy----------- ---Delay--- ---Maint---
Idle Read Send Keep Close DNS Log Init Exit
74 0 1 0 0 0 0 0 0
57 0 1 17 0 0 0 0 0
52 0 1 22 0 0 0 0 0
52 0 1 22 0 0 0 0 0
52 0 1 22 0 0 0 0 0
68 0 1 6 0 0 0 0 0
68 0 1 5 1 0 0 0 0
68 0 1 0 6 0 0 0 0
Die Ausgabe sollte beispielsweise erkennen lassen, ob man genügend Threads in Reserve hat, ob KeepAlive zu viele Threads bindet oder ständig Prozesse nachgestartet werden müssen.
Das Tool ist in Perl geschrieben und nutzt das Module LWP::UserAgent, so dass ggfs. das passende Paket nachzuinstallieren ist (bei Debian libwww-perl). Die Statusseite vom Apache erfordert natürlich ein aktiviertes mod_status und es wird per Default die URL http://localhost/apache-status abgefragt, was über einen entsprechenden Parameter aber angepaßt werden kann. Der Aufruf
Code:
$ apachestat --help
erklärt das im Detail auch nochmal. Vielleicht findet es jemand nützlich.
Download apachestat