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

Я пытаюсь отладить проблему с производительностью в моем приложении Laravel PHP. У меня установлены 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 Plan

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

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

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

2

Решение

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

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

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

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

1

Другие решения

Других решений пока нет …