Monitoring wydajności

Chciałbym w jakiś sposób monitorować wydajność moich aplikacji. Które akcje/requesty są najwolniejsze, które najczęsciej wywoływane. Jak sobie radzicie z tym problemem?
Wiem, że jest Newrelic, EngineYard ma coś swojego, Rawk, ale chciałbym poznać sposoby innych.

Prezentacja Mike’a Lee z ostatniego WRUG (plus druga część, jaką pokaże w styczniu). Postaram się od rzeczonego wreszcie ją wyciągnąć i posadzić gdzieś na sieci. Ale tam jest to zrobione przez uberpotężny patent, który powoduje że mi krew z nosa idzie na samą myśl o uberawesomeness tego pomysłu :wink:

(w skrócie: poprzez serwer proxy i protokół ICAP… neat stuff, naprawdę)

Tomasz, coś lately insertujesz anglojęzyczne expressions :D.

Przepraszam, to pewnie przez fakt, że prezentacja była po angielskiemu właśnie. I jak się przełączyłem na ów język, to mi cały czas po głowie chodziły słowa typu “awesome”, “neat” itd. :wink:
Mówiąc językiem współczesnego internetu - jak zobaczyłem prezentację, to prawie Jizzed In My Pants :smiley:

Tomash czekam za prezentacją

[quote=seban]Chciałbym w jakiś sposób monitorować wydajność moich aplikacji. Które akcje/requesty są najwolniejsze, które najczęsciej wywoływane. Jak sobie radzicie z tym problemem?
Wiem, że jest Newrelic, EngineYard ma coś swojego, Rawk, ale chciałbym poznać sposoby innych.[/quote]
around_filter z żywym SQL-em, wstawiającym do bazy danych wiersz z informacją o żądaniu. Po żądaniu (druga część around_filter) dopisywany jest tam czas obsługi. Log jest przypisywany do użytkownika, jeśli ten jest zalogowany.

Przy okazji służy to automatycznemu blokowaniu kont podejrzanie aktywnym użytkownikom.

Oczywiście tabela logów jest często przycinana, aby była super-szybka. Rozwiązanie ma charakter on-line, świetnie obrazuje bieżący ruch w aplikacji.