在Laravel Homestead中使用Blackfire Profiler对应用性能进行分析


1、注册Blackfire 账号

去Blackfire官网注册一个账号,注册成功后在用户中心->My Credentials查看自己的Client ID、 Client Token、Server ID以及Server Token:

Blackfire个人中心

2、安装Blackfire所需组件

在Laravel Homestead中已经为我们安装好了Blackfire所需的组件(Agent/Probe/Blackfire客户端工具等),所以我们无需再安装,如果你不是使用Blackfire的话,可以参考Blackfire入门教程在自己的系统上安装Blackfire运行所需要的组件。

3、配置Blackfire

要在Homestead中配置Blackfire,需要在Homestead.yaml配置文件中添加如下配置:

blackfire:
    - id: your-server-id
      token: your-server-token
      client-id: your-client-id
      client-token: your-client-token

对应的值就是上面在Blackfire官网用户中心->My Credentials中对应的值。

4、测试Blackfire

配置完成后,执行homestead provision 重新启动Homestead。

这里我们选择测试Web页面的性能。

首先去Chrome商店下载安装相应的Chrome浏览器扩展——Blackfire Companion(目前只支持Chrome浏览器扩展):

Chrome扩展Blackfire Companion

使用该扩展监测应用性能的方法:

1)登录到Blackfire.io

2)浏览你想要监控的URL

3)通过点击浏览器工具栏上的扩展按钮打开Companion扩展

4)选择一个reference profile,或者创建一个新的(“Create New Reference”)

5)点击“Profile”按钮,生成的监测数据如下:

使用Blackfire监测站点性能

点击“View Profile”查看生成的代码执行路径图:

使用Blackfire生成代码执行路径图

如果点击扩展界面的“Profile”按钮后报错:

Are you authorized to profile this page? Probe not found or invalid signature.

则需要升级Homestead虚拟机上blackfire-agentblackfire-php的版本:

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”按钮即可。