【发布时间】:2018-03-22 12:34:19
【问题描述】:
在测试本地站点时,我注意到 Blackfire 报告的时间与其他来源相比相差约 10 倍。
设置:
- 通过 Homebrew 本地安装所有堆栈的 macOS High Sierra(类似于 Laravel 的代客)
- Nginx 1.13.9
- PHP 7.2.3,带 opcache
- Xdebug 2.6.0(在分析期间禁用)
- 黑火代理 1.16.0
- 黑火探测器 1.18.2
- 具有默认主题和设置的最新 WordPress,使用自定义 Composer 驱动的框架创建,其中 WP 本身就是一个依赖项
- Composer 的自动加载器已优化
- HTTPS(自签名,使用自定义本地 CA 签名)
- HTTP/2
结果:
- 黑火:321ms
- Chrome 的网络计时 (TTFB):34.80 毫秒
- WordPress - 查询监视器插件:0.03 秒(或 30 毫秒)
- WordPress - Laps 插件:0.029 秒(或 29 毫秒)
- CLI
curl -s -o /dev/null \-w "%{time_total}\n" -k https://wp.test循环 10 次:平均 0.044 秒(或 44 毫秒,单个运行增量为 2-3 毫秒)
多次测试。除 Blackfire 之外的所有来源都非常一致,报告时间在 30-50 毫秒范围。感知到的加载时间是“即时的”,就像真正的 30-50 毫秒一样。 350 毫秒的加载时间很明显,这就是为什么我相信 Blackfire 就在这里。
我做错了什么?以前没有注意到这一点。
更新:
- 测试了其他一些 php 文件 - 一个仅包含 phpinfo 的基本文件、memcached 和 opcache 管理脚本 - 所有这些都非常快,而且 Blackfire 报告的时间与其他方法相同。
- 在 Vagrant VM(Laravel 的 Homestead)上测试,所有 WordPress 网站都很快,Blackfire 也报告了与其他方法相同的时间。
考虑到上述情况,带有本地 EMP 堆栈的 Blackfire + WordPress + macOS High Sierra 肯定有问题。
【问题讨论】:
-
那么一个是从远程(blackfire)报告,另一个是本地主机(chrome)?
-
不,Blackfire 是本地的。探针是本地 PHP 扩展,代理是本地代理。一切都在同一台机器上。 Blackfire.io remote 网站仅用于分析收集的个人资料数据。