2.8.23. Profilowanie PHP

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.
  1. Włączyćcoś profilera.
  2. Dodać do lista Twój adres IP lub adres dewelopera.
  3. Postępuj zgodnie z instrukcjami w witrynie, dla której chcesz zbierać informacje.
  4. Badać raporty lub udostępnij je programiście witryny, aby znaleźć sposób na optymalizację.
Do profilowania użyj rozszerzenia XHProf.

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».

Uwagi:

  • Gdy zawarte w php.ini rozszerzenie jest połączone i dodano dyrektywę widoku auto_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»:

Dodaj do listy adresy IP, z których żądania będą uruchamiać profiler:

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.
Myślnik oznacza, że profiler nie był w stanie wiarygodnie obliczyć wartości wskaźnika.

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.

Kliknij «Wyłącz profiler» w bloku «Profilowanie PHP» lub poczekaj na czas automatycznego wyłączenia:

Zawartość