问题标签 [blackfire]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 暂时禁用 blackfire 模块
我已经成功安装了 blackfire 代理、cli 工具和探针,它工作正常。我在使用 bf 进行分析时禁用了 xdebug 模块。
现在我想像以前一样使用 xdebug,但是 xdebug 不起作用,它只是不会进入调试会话。没有断点,甚至没有xdebug_break
工作。生产者网站上的一句话说:
已知的不兼容性
请注意,不支持使用 debug 编译的 PHP,并且 Probe 可能与 XDebug 或 XHProf 冲突;启用探测器时禁用这些扩展。
有没有办法在不卸载整个 blackfire 工具链的情况下禁用 blackfire代理?将文件移动/etc/php5/conf.d/90-blackfire.ini
到备份位置不起作用。
更新
有效的是卸载 php 代理sudo apt-get remove blackfire-php
。但我很确定一定有更好的解决方案。
php - 使用 blackfire.io 分析 PHP 7 应用程序,为什么我看到相同代码的不同 cpu 时间?
我支持和返工遗留的 PHP7 应用程序。此应用程序不使用自动加载,而不是此应用程序需要单个文件中的所有类,只需使用类遍历所有目录。老团队认为这是一种很好的优化方式。
所以我用blackfire做了一些测试,发现这个包括可以消耗一半的cpu时间。我做了自动加载实验,将cpu时间减少了两倍,内存消耗减少了三倍。伟大的结果。
然后我继续在没有自动加载的情况下使用旧代码进行实验,发现在某些情况下巨型包含不会消耗很多时间(而且它是带有很多循环的平面文件,没有 if-else 语句)。
在 blackfire 面板中,这看起来像包含包含的文件具有非常显着的被调用者数量。在一种情况下,该文件有 21 个被调用者,工作 132 毫秒,在另一种情况下,它有 6 个被调用者和 2.63 毫秒。
我不明白这种差异的原因。我的假设是 PHP7 非常聪明,可以分析哪些类真正应该用字节码编译,哪些不应该。
有人知道为什么存在这种差异吗?
PS:我不能显示黑火报告,PM 不允许这样做。
wamp - Blackfire 无法在 Windows / WAMP 上运行
Blackfire 给了我“您是否有权分析此页面?未找到探针或签名无效。” 在我的 WAMP 安装中!
我正确地遵循了所有步骤,并将所有东西都安装在了正确的位置。
php - 改进 Symfony 中的 Composer\Autoload\includeFile
我对我的 Symfony 2.8 项目进行了 Blackfire 测试,它表明大部分时间(超过 50%)被 Composer\Autoload\includeFile 的 435 次调用使用
有什么建议可以改进吗?我php composer.phar dump-autoload --optimize
在清除产品缓存后使用。
我将 APC 用于元数据,并为学说使用查询缓存,我的 app.php 文件如下所示:
php - 在 Docker 环境中使用 Blackfire 容器分析我的应用程序
今天我正在尝试将 Blackfire 添加到我的 Docker 堆栈中!我遵循了专门用于 Docker 实现的 Blackfire 文档,容器设置正确,但我无法成功创建我的应用程序的第一个配置文件。
这是一个 Symfony 堆栈。我有一个 PHP-FPM 容器和一个用于启动命令的 CLI 容器。NGINX 容器是网络服务器。
我的docker-compose.yml
文件如下:
我的环境变量使用我的 Blackfire ID 正确设置。
我尝试使用以下命令行制作我的个人资料:
结果是:
在 PHP-FPM 和 CLI Dockerfiles 中,我都放置了文档说明:
编辑:触发配置文件命令后,我的 PHP-FPM 容器和 NGINX 应用程序日志中有以下日志:
PHP-FPM
NGINX
php - Blackfire 无法使用 WAMP 在 Windows 上创建网络流
我正在尝试使用 Blackfire 分析 HTTP 请求。我已经安装了这些元素:
- blackfire-agent 及其配置文件(带有我的服务器 ID)
- blackfire 客户端,我用(我的客户端 ID)配置它(我启动了
C:\Users\a.t>blackfire config
) - blackfire php 探针(dll、php.ini 是用我的服务器 ID 编辑的)
但我仍然发现一个错误:
C:\Users\a.t>blackfire curl --resolve 'simdate.dev:80:127.0.0.1' http://simdate.dev/
您是否有权配置此页面?没有探测响应、缺少 PHP 扩展或中继代理的签名无效。
- Xdebug 和其他调试扩展在 php.ini 文件中被禁用
- 客户端 ID 和客户端密钥不同于服务器 ID 和服务器密钥。
- Blackfire Agent 也在运行(如果我停止它,我也会遇到同样的错误)
这是我在 php 中声明的日志文件中的日志文件:
这是我从 blackfire-agent 输出的日志。正如你所看到的,他似乎从来没有捕捉到联系:
这是两张截图
第一个显示禁用的 Xdebug 第二个显示我的 blackfire php 配置(xxxx 和 yyyy 是屏幕截图的实际值)
Windows 防火墙已被禁用。
php - Laravel / Blackfire - 包括自动加载器在内的作曲家需要大量时间
我正在使用Blackfire来分析我的 PHP / Laravel 应用程序。在大多数端点上,Composer 似乎需要很长时间。具体来说,方法Composer\Autoload\includeFile
。在下面的示例中,它被调用了 240 次。
现在我已经运行composer dump-autoload --optimize
并opcache
启用了。这种行为是正常的还是表明存在问题?我的理解是自动加载器应该只需要包含一次。
php - 使用 Blackfire Profiling 识别 Laravel 应用程序的瓶颈
我正在尝试将我的 TTFB 降低到 200 毫秒以下。目前超过600ms。
我的应用程序使用 Laravel 和 AsgardCMS。我实现的自定义代码很少,数据库有 28 个表,总共不到 100 条记录。
我已经安装了 Redis 缓存(并打开了缓存),然后运行php artisan optimize
.
我还通过 Apache 使用 Nginx Engintron
。
基本上我已经尽可能多地消除瓶颈!
然而,在安装 Blackfire 之后,它报告说它Composer\Autoload\includeFile
自己总共需要 250 毫秒(超过 299 次调用)。
Illuminate\Container\Container::build
也被调用了 141 次,总时间为 49 毫秒。
我接受这样多次调用自动加载器是正常的,但它真的需要 250 毫秒吗?
我的 VPS 有 2 个内核(Intel Xeon CPU)和 4GB RAM(专用)。我刚刚从 1 核和 2GB RAM 升级,但几乎没有注意到任何区别。磁盘是SSD。顺便说一句,在 WHM/cPanel 上运行。服务器上大约有 10 个站点,但没有一个站点的流量特别高,而且这些测试都是在最安静的时期运行的。
在最后一次测试运行中,Blackfire 报告:-
有任何想法吗?漂亮请...
php - How to profile only parts of the code with Blackfire?
Reading https://blackfire.io/docs/reference-guide/php-sdk I see that
The $probe instance can also be used to instrument precisely only part of your code
But
get me the following graph:
But I only wanted to benchmark
How could I do this?