需要测试下 代码的性能,使用了 xhprof + xhgui

1. 下载xhprof,

这里下载吧 :https://github.com/longxinH/xhprof.git

2, 安装

cd xhprof/extension/

/usr/local/php/bin/phpize ./configure --with-php-config=/opt/php-7.0.14/bin/php-config --enable-xhprof
make&&make install
 
3.修改 php.ini 文件

php -i | grep php.ini 
[xhprof]
extension=xhprof.so
xhprof.output_dir=/data/www/xhprof/save_output_dir //该目录自由定义即可,用来保存xhprof生成的源文件
重启php-fpm
kill -USR2 `cat /opt/php-7.0.14/var/run/php-fpm.pid`
//切换到下载的 xhprof 目录
cp -r xhprof/xhprof_html ROOT_PATH/
cp -r xhprof/xhprof_lib ROOT_PATH/
xhprof_enable(); //你需要分析的代码
$xhprof_data = xhprof_disable();
include_once ROOT_PATH.'/xhprof_lib/utils/xhprof_lib.php';
include_once ROOT_PATH . '/xhprof_lib/utils/xhprof_runs.php';
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test"); //将run_id保存起来或者随代码一起输出
yum install graphviz

查看结果
$host_url/xhpfrof_html/index.php?run=58d3b28b521f6&source=xhprof_test

  1. Calls / Call Count:函数被调用的次数
  2. Incl. Wall Time / Wall Time:执行该函数(包括子函数)耗费的时间
  3. Incl. MemUse / Memory Usage:该函数(包括子函数)占用的内存
  4. Incl. PeakMemUse / Peak Memory Usage:函数(包括子函数)占用内存的峰值
  5. Incl. CPU / CPU:执行该函数(包括子函数)花费的CPU时间
  6. Excl. Wall Time / Exclusive Wall Time:函数本身(不包括子函数)耗费的时间
  7. Excl. MemUse / Exclusive Memory Usage:函数本身(不包括子函数)占用的内存
  8. Excl. PeakMemUse / Exclusive Peak Memory Usage:函数本身(不包括子函数)耗费内存的峰值
  9. Exclusive CPU:函数本身(不包括子函数)花费的CPU时间

最新文章

  1. ubuntu 系统使用
  2. 类A have-a 类B,类B访问类A public 成员
  3. 【MySQL】事务没有提交导致 锁等待Lock wait timeout exceeded异常
  4. BSA基础数据维护
  5. cell分割线宽度不满屏处理
  6. What floating point types are available in .NET?
  7. nagios监控远程主机服务可能出现的问题
  8. MySQL创建新用户、增加账户的2种方法及使用实例
  9. C++中构造函数和析构函数的调用顺序
  10. shell脚本-实战防dos攻击
  11. Windows Azure Virtual Machine (36) 扩展Azure ARM VM的磁盘大小
  12. 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库
  13. python-day21--sys模块
  14. 【python 2.7】输入任意字母数字,输出其对应的莫尔斯码并播放声音
  15. java中方法传入参数时:值传递还是址传递?
  16. windows下配置nginx+php环境(转)
  17. 递归--练习8--noi1788Pell数列
  18. 04_Docker入门(下)之docker镜像和仓库的使用
  19. 获取ArcGIS安装路径
  20. UML 依赖\泛化\关联\实现\聚合\组合的 Java实现

热门文章

  1. python中ascii码和字符的转换
  2. Oracle11g登陆sqlplus时一直提示密码错误
  3. mysql 修复
  4. java读取clob字段的几种方法
  5. eclipse中代码没错但项目名称有个小红X
  6. UIViewController新方法的使用(transitionFromViewController:toViewController:duration:options:animations:completion:)
  7. Session和Cookie之间存在的区别与联系
  8. spark插件入门完整版本
  9. java调用本地默认浏览器
  10. DelphiXe 中静态数组TByteArray和动态数组TBytes /array of byte 的区别