XHProf to profiler kodu PHP opracowany przez developerów Facebooka. Bardziej doświadczeni developerzy CMS TYPO3 na pewno mieli nie raz okazję skorzystać z jego możliwości.
Nie wyobrażamy sobie już wydajnej pracy z TYPO3 i szybkiego debugowania aplikacji bez tego narzędzia. Jeśli dalej używasz wbudowanego w TYPO3 admPanelu, aby sprawdzić która część strony generuje się za długo, to najwyższy czas spróbować XHProf i zobaczyć jak dużo cennych danych można uzyskać.
XHProf dostarcza wiele ciekawych informacji min na temat:
- ilości odwołań do każdej z funkcji
- czasu wykonania funkcji
- wykorzystania pamięci
Całość można podglądać po każdym odświeżeniu strony w formie dwóch różnych widoków:
Flat profile | Hierarchical profile |
XHProf pozwala również na porównywanie danych z różnych wywołań. Możemy np.: porównać dane przed i po zmianie w krytycznej części kodu a następnie sprawdzić jaki to miało wpływ na wydajność.
Ostatnio zmagaliśmy się z problemem zbyt dużych czasów podczas generowania obrazków na stronie. Po zainstalowaniu XProf okazało się, że PHP pochłania za dużo czasu na funkcjach związanych z odczytem katalogu i dostępem do plików. Przyczyną było znacznie przekroczenie ilości plików graficznych w jednym katalogu - ponad 150tys.
Opisane przeze mnie rzeczy to jedynie wstęp do tego jak można wykorzystać XHprof. Jeśli chcesz dowiedzieć się więcej to odsyłam do oficjalnej dokumentacji na stronie mirror.facebook.net/facebook/xhprof/doc.html
Polecam również przyjrzenie się wykresowi Hierarchical profile w pełnych rozmiarach http://techblog.evo.pl/wp-content/uploads/2010/02/callgraph.png. Wykres przedstawia scachowaną stronę z jednym obiektem typu USER_INT. Jako cache backend użyta jest baza danych.




Ostatnie komentarze
Daniel
I get a fatal error with this extension: Fatal error: Call to undefined method t3lib_div::makeInsta... / 07 maj. 20:53
Zaawansowana subskrypcja, nasze nowe rozszerzenie
Michael
The correct Amazon S3 API TER link is http://typo3.org/extensions/repository/view/amazon-s3-api T... / 24 kwi. 11:44
s3example - TYPO3 i Amazon S3
Adi
Pod nową wersją t3 z gałęzi 4.5.14 (gdzie w korze znalazły się jakieś krytyczne luki) wtyczka też ni... / 02 kwi. 19:52
Zaawansowana subskrypcja, nasze nowe rozszerzenie
Rafał Brzeski
Nasze niedopatrzenie, w nowej wersji dodamy opcję wyboru tej opcji. / 21 mar. 20:22
Zaawansowana subskrypcja, nasze nowe rozszerzenie
bocianos
Wszystko super tylko jak zrobic aby nowe adresy domyslnie miały zaznaczone otrzymywani maili w forma... / 20 mar. 13:08
Zaawansowana subskrypcja, nasze nowe rozszerzenie