Автор оригинала: David Wong.
вводить
В последних двух выпусках я объяснил основную работу xdebug . Я верю, что вы можете избавиться от записи var_dump ($data); умереть; писать и отлаживать после очистки. В этом выпуске мы рассмотрим вторую функцию xdebug-анализ производительности. Эта функция не очень полезна на практике.
Используйте сценарии:
- Оптимизация основных функций для высокопроизводительных параллельных проектов. Оптимизация кода выполняется путем анализа зависимости, отнимающей много времени при запуске метода.
Описание окружающей среды
- окна
- бродяга+vbox+centos 7+nginx+ php
- phpstorm
Дошкольная подготовка
- Среда отладки Xdebug + phpstorm работает правильно
Точка обучения
- Понимание конфигураций, необходимых для анализа производительности Xdebug
- Знать, как читать отчеты о производительности
Конфигурация Xdebug
Xdebug-это доступ к указанному методу. Создайте файлы анализа производительности, а затем проанализируйте программное обеспечение, чтобы увидеть результаты производительности.
Php.ini Добавить конфигурацию
xdebug.profiler_enable=Off xdebug.profiler_enable_trigger=On xdebug.profiler_enable_trigger_value="create" xdebug.profiler_output_dir="/tmp/" xdebug.profiler_output_name="cachegrind.out.%R"
Файл производительности анализа Phpstorm
Сравнения показывают, что после доступа к методу создается файл анализа, немедленно выполняется анализ производительности и файлы очищаются после анализа. Чтобы сделать данные точными, нам нужно провести множество сравнений. Найдите среднее значение параметров производительности для повышения точности.
Нам нужно знать, почему этот метод зависимости занимает больше всего времени. Есть ли какая-либо возможность оптимизации?
Подробное описание инструмента анализа производительности phpstorm Xdebug
Мы открываем файл в начале файла анализа производительности cachegrind. out. через инструмент – > Анализ Моментального снимка профилировщика Xdebug. Он войдет в следующий интерфейс
1. Поймите значение каждого варианта
- Обновить – Обновить
- Статистика выполнения – Выполнение статистических данных
- Деревья вызовов – Какие функции вызывают какая функция
- Вызываемые – Исполняемые файлы
- Собственное Время – Время, необходимое функции для выполнения собственного кода (исключая вызовы других функций)
- Звонки – Количество звонков
- Абоненты – Какие функции следует вызывать
- Вызывающие устройства – Где вызывается функция
- Что означает число до времени?
В столбце “Время” указаны цифры и проценты. Представляет время выполнения и процент от общего времени выполнения, соответственно
Устройство устанавливается во время рядом с сервером. Значение по умолчанию-Ms.
- Большинство методов у вызываемых пользователей отображаются со сложенным значком. Что толку?
Это позволяет нам увидеть, что сделал его последний шаг. Это облегчает нам понимание процесса вызова этой функции.
2. Найдите данные, которые нас интересуют
- Эти места занимают больше всего времени выполнения и почему
Мы можем отсортировать наше собственное время на вкладке Статистика выполнения, чтобы получить наиболее интенсивный контент для выполнения. Он будет содержать файлы и функции, а также методы. Если мы настроим сервер для связи с текущим проектом, статистический метод заключается в переходе к фактическому коду проекта.
Мы используем тег вызываемых, чтобы увидеть, какие вызовы методов в функции занимают больше всего времени.
- Эти вызовы методов являются наиболее частыми, и в этих местах больше вызовов.
В теге Статистика выполнения вызовы сортируются в соответствии с функцией или методом с наибольшим временем выполнения.
Вы можете увидеть, куда ему позвонили, по телефонам ниже
Серийные изделия
- Конфигурация установки Xdebug
- Практическое применение Xdebug
- Анализ производительности Xdebug [эта статья]
FQA
- Почему бы не установить xdebug по умолчанию. profiler_output_name?
Если ваш проект не относится к типу с несколькими входами, файл анализа производительности будет неточным при его сохранении в файл. И я использовал $_SERVER [‘REQUEST_URI’] в качестве суффикса файла в приведенном выше. Он может очень хорошо различать файлы анализа производительности.
Оригинал: “https://developpaper.com/jane-janes-php-programming-share-1-3-xdebug-performance-analysis/”