Blackfire мгновенно выходит из строя, когда у меня работает JMeter


Я пытаюсь отладить проблему с производительностью в моем PHP-приложении Laravel. У меня есть Blackfire и JMeter, установленные в Debian 7 в стеке Apache/Postgres/PHP5-FPM/Redis.

Если я обычно запускаю 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 апплет.

Пользовательский интерфейс плана тестирования JMeter

Очень просто.

Итак, теперь, если я запущу 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 тест), он выйдет с точно таким же сообщением об ошибке.

У кого-нибудь есть какие-нибудь идеи, почему это могло произойти?

Author: Jim, 2016-01-08

1 answers

С таким планом Jmeter вы собираетесь выдавать 8 одновременных запросов без паузы между ними: как сказал ceejayoz, это своего рода DOS.

В этих условиях, основываясь на ошибках, которые вы получаете, зонд, похоже, недостаточно отзывчив.

Я бы начал с добавления контроллера пропускной способности, настройки 1 запроса/секунды/потока (или аналогичного значения). Затем вы можете выполнить проверку с помощью одного потока. Если это сработает, вы можете увеличить количество потоков и посмотреть, где начинаются проблемы.

Я мало что знаю о Blackfire, но мне кажется, что я больше ориентирован на проверку производительности страниц, а не на загрузку.

 1
Author: sbos61, 2016-01-10 10:20:24