2.8.23. Profilowanie PHP
Informacje ogólne
Profilowanie — zbieranie szczegółowych informacji o czasie działania funkcji skryptu oraz zużyciu pamięci RAM w procesie przetwarzania żądania do serwisu. Korzystając z tych informacji, programista witryny może zidentyfikować najwolniejsze części kodu, aby w przyszłości je zoptymalizować i skrócić czas działania skryptów.
Co może pokazać profilowanie:
- Jakie funkcje i ile razy zostały wykonane podczas skryptu.
- Ile czasu zajęło uruchomienie każdej funkcji.
- Ile pamięci RAM zostało wykorzystane przez funkcję i wartości szczytowego zużycia.
Procedura
- Włączyćcoś profilera.
- Dodać do lista Twój adres IP lub adres dewelopera.
- Postępuj zgodnie z instrukcjami w witrynie, dla której chcesz zbierać informacje.
- Badać raporty lub udostępnij je programiście witryny, aby znaleźć sposób na optymalizację.
Profiler
Ważne punkty:
- Profiler można włączyć dla witryn z Wersje PHP 7.0-8.3.
- Opcja jest automatycznie wyłączana, gdy profiler jest uruchomiony. open_basedir.
- Raporty profilera są przechowywane w miejsca na dysku konto hostingowe i zajmują miejsce i i-węzły.
Praca z profilerem odbywa się w dziale «Profilowanie PHP».
Włączenie
Uwagi:
- Gdy zawarte w
php.ini
rozszerzenie jest połączone i dodano dyrektywę widokuauto_prepend_file = "/home/{$login}/.system/profiler/profiler_{$host_id}.php"
do uruchomienia profilera. - Dyrektywa jest dodawana osobno i nie wpływa na dodany poprzednio
auto_prepend_file
. - Następuje włączenie nie natychmiast - zastosowanie zmian w ustawieniach PHP wymaga niewielkiego, kilkuminutowego opóźnienia.
Wybierz żądany czas w bloku «Profilowanie PHP» i naciśnij «Włącz Profiler»:
Lista adresów IP
Dodaj do listy adresy IP, z których żądania będą uruchamiać profiler:
Raporty
Uwaga!
Raporty są wyświetlane w panelu sterowania tylko w następujących warunkach:- Dla kont hostingowych na Ukrainie — wielkość pliku raportu powinna wynosić nie więcej niż 100 MB.
- Dla kont hostingowych w innych krajach — wielkość pliku raportu powinna wynosić nie więcej niż 10 MB.
Uwagi:
- Lista raportów wyświetlana jest od najnowszego do najstarszego.
- Pliki raportów są przechowywane w katalogu
.system/profiler
w katalogu głównym konta hostingowego. - Raporty są usuwane tylko ręcznie. Dzięki temu pozostają one dostępne do analizy po wyłączeniu profilera.
Wszystkie wyniki profilera są wyświetlane w bloku «Raporty profilujące»:
Blok wyświetla aktualny wolumen zajęty przez istniejące raporty na dysku. Tutaj możesz również usunąć wszystkie raporty za pomocą przycisku «jasny».
Kolumny listy:
- «Datę» — data i godzina przetworzenia wniosku.
- «URL» - Żądaj adresu URL.
- «CPU» — Czas procesora podczas przetwarzania żądania.
- «Czas realizacji» — czas działania skryptu podczas przetwarzania żądania.
- «Szczytowe zużycie pamięci» — maksymalne zużycie pamięci podczas przetwarzania żądania.
Przycisk «Szczegółowy raport» otwiera szczegółowe informacje o tym, jak skrypt działa podczas przetwarzania żądania:
W szczegółowym raporcie:
- «Data i godzina uruchomienia skryptu».
- «IP» — IP, z którego wysłano żądanie.
- «Dokładny adres URL» — Adres URL, pod który wysłano żądanie.
- «Liczba wywołań funkcji» — liczba funkcji wykonywanych przez skrypt podczas przetwarzania żądania.
- «Rozkład funkcji według czasu wykonania» — wykres z proporcjami czasu wykonania różnych funkcji w stosunku do całkowitego czasu spędzonego.
Kolumny ogólnej listy wywoływanych funkcji:
- «Funkcjonować» — nazwa funkcji.
- «Liczba połączeń» — ile razy funkcja została wykonana.
- «Środki obejmujące funkcje dziecka»:
- «Czas realizacji» — ile czasu zajęło ukończenie funkcji.
- «CPU» — jak długo procesor był zajęty wykonywaniem funkcji.
- «Zużycie pamięci» — ile pamięci zostało wykorzystane podczas wykonywania funkcji.
- «Szczytowe zużycie pamięci» - szczytowa wartość wykorzystania pamięci podczas wykonywania funkcji.
- «Metryki z wyłączeniem funkcji podrzędnych» - podobne do powyższych wskaźników, tylko bez uwzględnienia funkcji potomnych.
Kliknięcie nazwy funkcji otwiera szczegółowy raport na temat tej funkcji:
Raportuj kolumny według funkcji:
- «Funkcjonować» - nazwa funkcji.
- «Liczba połączeń» — ile razy funkcja została wykonana.
- «Czas wykonania, ms» - ile czasu zajęło ukończenie funkcji.
- «procesor, ms» - jak długo procesor był zajęty wykonywaniem funkcji.
- «Zużycie pamięci, bajty» — ile pamięci zostało wykorzystane podczas wykonywania funkcji.
- «Szczytowe zużycie pamięci, bajty» - szczytowa wartość wykorzystania pamięci podczas wykonywania funkcji.
Funkcje na liście podzielone są na trzy grupy:
- «Aktualna funkcja» - funkcja, o której informacja jest aktualnie otwarta.
- «Funkcje rodzicielskie» — funkcje, z których została wywołana bieżąca funkcja.
- «Funkcje dziecka» — funkcje, które zostały wywołane z bieżącej funkcji.
Klikając na nazwy funkcji nadrzędnych/podrzędnych, możesz poruszać się po hierarchii wszystkich wywoływanych funkcji i przeglądać informacje o każdej z nich.
Odłączenie
Kliknij «Wyłącz profiler» w bloku «Profilowanie PHP» lub poczekaj na czas automatycznego wyłączenia: