Я пытаюсь отладить проблему производительности в моем приложении Laravel PHP. У меня есть Blackfire и JMeter, установленные на Debian 7 в стеке Apache/Postgres/PHP5-FPM/Redis.Blackfire мгновенно терпит неудачу, когда у меня работает JMeter
Если я запускаю Blackfire нормально, я получаю именно то, что хочу.
# blackfire --samples 5 curl http://larachan.foo
Profiling: [########################################] 5/5
Blackfire cURL completed
Profile URL: https://blackfire.io/profiles/xxx/graph
Wall Time 263ms
CPU Time 190ms
I/O Time 72.7ms
Memory 8.74MB
Network n/a n/a -
SQL n/a -
У меня очень, очень простой тест JMeter, который загружает мою страницу приложения столько раз, сколько может. Я могу увидеть ухудшение производительности при запуске теста. Вот пользовательский интерфейс для Java-апплета.
Очень просто.
Итак, если я запустил Blackfire с этим тестом, я получаю сообщение об ошибке.
# blackfire --samples 5 curl http://larachan.foo
Profiling: [######### ] 2/5
Are you authorized to profile this page? No probe response, missing PHP extension or invalid signature for relaying agent.
Это нехорошо. В журнале агентов Blackfire есть очень короткое, бесполезное сообщение.
[2016-01-07T17:49:22-05:00] ERROR: Error while writing to probe: write unix @: broken pipe
[2016-01-07T17:49:22-05:00] ERROR: Profile data is truncated. Please check https://blackfire.io/doc/troubleshooting#trouble-no-response
Обзор этой документации не содержит информации об использовании.
Я указал в своем файле конфигурации PHP-FPM для Blackfire на таймаут через 30 секунд. Я также просил его помещать связанные с PHP ошибки в конкретный файл журнала, но это никогда не появляется.
Я могу очень точно воспроизвести эту проблему даже в середине теста. Если я активирую JMeter в любой момент в течение 10 выборочных тестов (даже если это 1 тест от завершения), он выйдет с тем же сообщением об ошибке.
Кто-нибудь знает, почему это может случиться?
Вы в основном DDOSing ответ. Похоже, что Blackfire зависит от того, как сайт функционирует, и ваш DDOS предотвращает его запросы от всех проходов. – ceejayoz
@ceejayoz Я могу загрузить документ в порядке, это займет всего секунду. Значительно ниже порога ожидания Blackfire. – Josh
Ваш тест нагрузки является непрерывным, и хотя вы можете ударить приложение со страницы, похоже, что blackfire должен поговорить с его «агентом». Тем не менее, согласился, что это не очень хорошо, и ошибка должна быть ясной или работающей в PHP, не должна вызывать эту проблему. Вопрос: Ваш процессор привязан? Есть ли у вас графики на сервере? –