Какой хороший профилировщик для многопоточного PHP-приложения на основе CLI?
-
21-08-2019 - |
Вопрос
Я написал пакетный процессор, который запускает несколько потоков (pcntl_fork), и я получаю некоторые странные результаты, когда дочерние процессы перестают функционировать и, похоже, не выпускают свои ресурсы.
Есть ли хороший профилировщик кода, утилита трассировки, которую я могу использовать для "наблюдения" за родительским процессом и дочерними процессами, чтобы увидеть, что происходит?
Решение
Единственный профайлер, о котором я знаю, это XDebug.Вы можете обработать результаты с помощью Веб-Гриндинг или KCachegrind.
Он предоставляет статистику производительности вашего написанного PHP-кода, так что вы должны быть в состоянии выяснить, связаны ли проблемы с вашим кодом или с какой-либо ошибкой PHP / OS.
Другие советы
Xdebug может делать и то, и другое профилирование и интерактивная отладка.Существует несколько клиентов, доступных для подключения к процессу отладки.