当我有 JMeter 运行 时,Blackfire 立即失败
Blackfire instantly fails when I have JMeter running
我正在尝试调试 Laravel PHP 应用程序中的性能问题。我在 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 测试,它除了尽可能多地加载我的应用程序主页外什么都不做。我能够通过测试 运行ning 看到性能下降。这是 Java 小程序的 UI。
很简单。
所以现在如果我 运行 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 相关错误放入特定日志文件中,但从未出现。
即使在测试过程中,我也能非常准确地重现这个问题。如果我在 10 个样本测试期间的任何时候激活 JMeter(即使它距离完成还有 1 个测试),它将退出并显示完全相同的错误消息。
有人知道为什么会发生这种情况吗?
有了这样的 Jmeter 计划,您将发出 8 个并发请求,中间没有停顿:如 ceejayoz 所说,它是一种 DOS。
在这些情况下,根据您收到的错误,探测器似乎响应不够。
我将从添加吞吐量控制器开始,配置 1 request/second/thread(或类似值)。然后你可以 运行 单线程检查。如果可行,您可以增加线程数并查看问题开始的位置。
我对 Blackfire 了解不多,但我似乎更倾向于检查页面性能而不是加载性能。
我正在尝试调试 Laravel PHP 应用程序中的性能问题。我在 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 测试,它除了尽可能多地加载我的应用程序主页外什么都不做。我能够通过测试 运行ning 看到性能下降。这是 Java 小程序的 UI。
很简单。
所以现在如果我 运行 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 相关错误放入特定日志文件中,但从未出现。
即使在测试过程中,我也能非常准确地重现这个问题。如果我在 10 个样本测试期间的任何时候激活 JMeter(即使它距离完成还有 1 个测试),它将退出并显示完全相同的错误消息。
有人知道为什么会发生这种情况吗?
有了这样的 Jmeter 计划,您将发出 8 个并发请求,中间没有停顿:如 ceejayoz 所说,它是一种 DOS。
在这些情况下,根据您收到的错误,探测器似乎响应不够。
我将从添加吞吐量控制器开始,配置 1 request/second/thread(或类似值)。然后你可以 运行 单线程检查。如果可行,您可以增加线程数并查看问题开始的位置。
我对 Blackfire 了解不多,但我似乎更倾向于检查页面性能而不是加载性能。