apache2 terheltség

Fórumok

Hello

Milyen eszközzel lehet kideríteni, hogy több virtualhostot kiszolgáló apache webserveren melyik oldal eszi a legtöbb erőforrást? Melyiket látogatják legtöbben?

Hozzászólások

egy jó kiindulópont a server-status engedélyezése

Core2Duo T7100, 4G, Ubuntu 9.04, 2.6.31-rc5

Ha sok virtualhost között egy-kettőn nem éppen kultúráltan megírt php zabálja a procit, azt hogy tudom egyszerűen megnézni, hogy melyik a bűnös?

Ilyesmi feladatot nekem is adnak az unatkozó userek. Minden vhostot logolok, a /var/log/apache2 alá benézve rögtön kitünik melyik host pörög (nagyobb a logméret). Belekukkantva látszik milyen referer oldalakról jön a xarakodás. Pont mostanában volt belőle probléma. Fut pár toplista aztán a sor végén kullogók úgy gondolták feltornásszák magukat. A nyavajások kicsit túlbuzgók voltak: mig a top5 is 1000találat/nap, ők 200.000/nap eredményt generáltak 1-2 azonos refererről. Nem feltünő:)
Természetesen referer alapján melegbbre lettek küldve.

(Ez csak akkor segit, ha a sok kérésed van. Az elírt php-ra talán csak úgy tudnál rájönni, ha minden vhost külön user alól futna.)

Emlékeim szerint mpm peruser helyett mpm-itk-t szoktak mostanában ajánlani inkább. Bár a legjobb szvsz mpm-worker+fastcgi és ugy futtatni a php-t suexec-cal.

Ja es virtualhost-os monitorozasra hasznalhatod ezt is:
http://www.freshnet.org/wordpress/2007/03/08/monitoring-apaches-virtual…

-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)

Az mpm-itk tippet köszönöm, megnézem. A muninnal nem vagyunk jó haverok, én inkább valami top szerű konzolos programra gondolok. Baloldali oszlopban a vhostok, mellettük oldalletöltés/perc, le-feltöltés/óra, éppen hány klienst szolgál ki az apache / hány apache processz fut az adott vhostra, prociidő (amiből lehet következtetni a PHP étvágyára). Kicsit most hangosan gondolkodom, de talán tükrözi az elképzelésemet. Jó lenne egy ilyen. Ha nem létezik ilyen program, de ezeket az infókat ki lehet nyerni, ésszerűen, akkor még talán meg is írom ezt az apache-vhost-top -ot. Természetesen nem csak saját magamnak.

Szerintem nem nyúl a logokhoz:

Requeriments

* python 2.4
* Apache 2.0 webserver with mod_status and the ExtendedStatus directive activated. You will also need to be allowed to access from your ip address.

És még ez is árulkodó:

apache-top -u http://192.168.0.1/server-status

Szerk.: aztán tovább olvastam a lapot, és:

"Kepi, apache-top doesn’t use the access log to retrieve the information, so having different logs for every virtualhost doesn’t affect it"

Egész jó ez a progi... de ez is csak akkor működik mikor megy a webszerver, tehát ha elhalt, nem tudhatjuk meg mitől.
Egyébként csak tippként mondom, mikor döglik a webszerverem, én belépek a /var/log/apache2 mappába (és itt van külön fájlban minden egyes vhost logfájl), és itt nyomok egy "tail -f *" parancsot.
A muninos mod_watch megoldást kipróbáltam, de 20 vhsot felett szerintem áttekinthetetlen.