Blackfire Profiler是一个工具,用于检测PHP应用程序以收集有关内存,CPU时间和I / O操作等消耗服务器资源的数据。Blackfire已被一些流行的PHP项目使用,例如ownCloud,Drupal,Symfony和Laravel,以改善其性能并发现性能瓶颈。
一、注册Blackfire 账号
去Blackfire官网注册一个账号,注册成功后在Settings->Credentials查看自己的Client ID、 Client Token、Server ID以及Server Token。
二、安装Blackfire所需组件
在Laravel Homestead中已经为我们安装好了Blackfire所需的组件(Agent/Probe/Blackfire客户端工具等),所以我们无需再安装,如果你不是使用Blackfire的话,可以参考Blackfire入门教程在自己的系统上安装Blackfire运行所需要的组件。
三、配置Blackfire
1 2 3 4 5 |
blackfire: - id: your-server-id token: your-server-token client-id: your-client-id client-token: your-client-token |
对应的值就是上面在Blackfire官网用户中心->My Credentials中对应的值。
四、测试Blackfire
配置完成后,执行homestead provision
重新启动Homestead。
这里我们选择测试Web页面的性能。
首先去Chrome商店下载安装相应的Chrome浏览器扩展——Blackfire Companion(目前只支持Chrome浏览器扩展):
使用该扩展监测应用性能的方法:
1)登录到Blackfire.io
2)浏览你想要监控的URL
3)通过点击浏览器工具栏上的扩展按钮打开Companion扩展
4)选择一个reference profile,或者创建一个新的(“Create New Reference”)
5)点击“Profile”按钮,生成的监测数据
点击“View Profile”查看生成的代码执行路径图:
如果点击扩展界面的“Profile”按钮后报错:
1 |
Are you authorized to profile this page? Probe not found or invalid signature. |
则需要升级Homestead虚拟机上blackfire-agent
和blackfire-php
的版本:
1 2 3 4 5 |
sudo apt-get update sudo apt-get install --only-upgrade blackfire-agent sudo /etc/init.d/blackfire-agent restart sudo apt-get install --only-upgrade blackfire-php sudo service php-fpm restart |
升级完成后,重新点击“Profile”按钮即可。