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

学院君 has written 976 articles

Laravel学院院长,终身学习者

积分:111912 等级:P12 职业:手艺人 城市:杭州

9 条回复

  1. RoughRoar RoughRoar says:
    @ 戦场原礼亚 已经翻了down下来了,blackfire确实不错,但是试用期15天,价格还老贵了,个人开发的话用不起咯[失望]
  2. RoughRoar RoughRoar says:
    @ 戦场原礼亚 非常感谢[兔子]
  3. 学院君 学院君 says:
    @ 老菜 这年头 下个Chrome扩展都要翻墙 心累! 晚上回去发给你吧
  4. RoughRoar RoughRoar says:
    那个chrome的扩展可以打包发我嘛[可怜]
  5. RoughRoar RoughRoar says:
    We are sorry but we were unable to find any suitable version of Blackfire Probe for your system. =。=用的阿里云的ubuntu镜像
  6. ddg ddg says:
    @ phper ubuntu 下面root是没有密码的, 这样就无法直接使用root登陆系统, 要用root直接使用 sudo su即可, 可以使用 visudo, 这样就不用每次 sudo su 输入密码
  7. 复写纸 复写纸 says:
    学院君,我又来了,请问homestead root用户密码是什么?

登录后才能进行评论,立即登录?