Najnowsze wpisy

Zaawansowana subskrypcja, nasze nowe rozszerzenie

W repozytorium CMS TYPO3 jest już kilka pluginów za pomocą których można...
09 styczeń 2012

Convenient In/Out animation using expressions

We recently had an opportunity to make a set of instructional animations...
07 listopad 2011

Wdrożenie Sphinx Search

W ostatnim czasie potrzebowaliśmy wydajnego i rozbudowanego mechanizmu...
26 lipiec 2011

Tagi

Profilowanie kodu TYPO3 za pomocą XHProf

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:

     
  1.  ilości odwołań do każdej z funkcji
  2.  
  3.  czasu wykonania funkcji
  4.  
  5.  wykorzystania pamięci
  6.  

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 result table

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.

Gravatar: cycu cycu, 29.05.2010 01:29
Śmieszne... Blog o typo3, a postawiony na Wordpressie...
Gravatar: bart bart, 29.05.2010 17:09
rozwin co Cie tak smieszy?
Gravatar: maholtz maholtz, 22.07.2011 11:33
You don't have permission to access /fileadmin/_temp_/callgraph.png on this server.

_temp_ is secured via .htaccess in TYPO3 by default, perhaps you can put the image directly in fileadmin?

thanks,
martin
Gravatar: maholtz maholtz, 22.07.2011 11:34
ok, perhaps just change the link to callgraph.png to:
http://techblog.evo.pl/wp-cont...
Gravatar: Bartosz Aninowski Bartosz Aninowski, 22.07.2011 11:57
maholtz thanks for info. Fixed.
Dodaj swój komentarz:

* Tylko oznaczone pola są wymagane