php7安装xhprof,PHP 7.1安装xhprof进行性能分析的介绍

这篇文章主要介绍了关于PHP 7.1安装xhprof进行性能分析的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

安装扩展

该 xhprof扩展版本是从 https://github.com/longxinH/xhprof 获取的(第三方的一个库,官方版本不支持php7)

下载并编译xhprof扩展

在web的html目录下操作:

git clone https://github.com/longxinH/xhprof

编译扩展

cd xhprof/extension/phpize

./configure

makemake install

修改php.ini配置

[xhprof]

extension=xhprof.so;

xhprof.output_dir=/tmp/xhprof

其中 xhprof.output_dir 是 xhprof 的输出目录,每次执行 xhprof 的 save_run 方法时都会生成一个 run_id.project_name.xhprof 文件。这个目录在哪里并不重要。注意此路径的权限要可读写!!否则文件无法生成成功

重启 php-fpm

sudo service php7.1-fpm restart

添加测试代码

xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);// 要检查性能的代码

$xhprof_data = xhprof_disable();

include_once '/var/www/html/xhprof/xhprof_lib/utils/xhprof_lib.php';

include_once '/var/www/html/xhprof/xhprof_lib/utils/xhprof_runs.php';

$xhprof_runs = new \XHProfRuns_Default();

$run_id = $xhprof_runs->save_run($xhprof_data, 'your_project');

测试代码中要引入xhprof_lib.php和xhprof_runs.php两个文件

查看生成报告

需要访问:xhprof/xhprof_html/index.php文件查看:

http://localhost/xhprof/xhprof_html/index.php?run=5b35d3dfa8c29&source=your_project

run后的参数为$run_id,source参数为your_project配置的名字

如果图表生成错误,需要安装插件:

sudo apt-get install graphviz

实际演示代码

function test1(){

for($i=0;$i<10;$i++){

echo 'aaa'.$i.'
';

}

}// start profilingxhprof_enable();

test1();

// stop profiler

$xhprof_data = xhprof_disable();

// display raw xhprof data for the profiler runprint_r($xhprof_data);

include_once "xhprof_lib.php";include_once "xhprof_runs.php";

// save raw data for this profiler run using default

// implementation of iXHProfRuns.

$xhprof_runs = new XHProfRuns_Default();

// save the run under a namespace "xhprof_test"

$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test");echo "---------------\n".

"Assuming you have set up the http based UI for \n".

"XHProf at some address, you can view run at \n".

"http:///index.php?run=$run_id&source=xhprof_test\n".

"---------------\n";

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ad敷铜后还有部分飞线_种草!车厘子红组合高柜,除了颜美,还有什么好?

最近上新君在AD线下体验店遇到个忍不住一定要推荐的牌子~它是谁呢&#xff1f;卖个关子猜一猜&#xff1a;「家居达人等级测试」开始⏰「线索一」线下店进门右手边这组红色柜子&#x1f446;「线索二」它是乐高“母国”丹麦的收纳家具品牌&#xff0c;花了37年&#xff0c;就做…

宝塔php开启zip组建,宝塔面板如何开启php扩展

宝塔面板如何开启php扩展&#xff1f;宝塔面板的PHP安装路径为/www/server/php/ 且支持多个PHP版本共存&#xff0c;所以&#xff0c;安装PHP扩展的方法与网上那些示例略有不同。下们通过安装oauth扩展来说明一下如何安装第三方PHP扩展。安装之前&#xff0c;请先到软件列表 –…

win7局域网共享设置_分享几个简单实用的局域网共享设置工具

发现很多朋友对于局域网共享设置都不是很熟悉&#xff0c;特别是现在Windows 10已经越来越普遍&#xff0c;很多用户可能熟悉Windows XP、Winodws7的文件共享、打印机共享比较熟悉&#xff0c;但是一到Windows是就感觉懵逼了&#xff01;确实Windows 10在共享权限设置这块需要更…

Java 飞翔的小鸟

前言 基于Java的飞翔小鸟游戏&#xff0c;本代码来自b站up主分享。本游戏所需的图片素材需要自己获取并下载&#xff0c;在此视频下&#xff0c;视频链接&#xff1a;【Java经典小游戏项目之飞翔的小鸟】 https://www.bilibili.com/video/BV1ou411o7br/?p10&share_source…

php手机论坛程序,网站开发-php开发手机论坛(8)-编辑帖子

上一篇说了怎么查看帖子,这一篇就来说说怎么把数据库里面的帖子提取出来编辑.代码逻辑是这样的:先验证是否是当前用户的帖子,是的话就提供编辑按钮,这个在view.php中实现.->在数据库中根据get的a来提取已有帖子数据,加载到模板文件中.->最后把得到数据更新到数据库里面,再…

dataframe保存为txt_TxtToMy下载-TxtToMy((txt导入myql数据库))v3.7免费版

TxtToMy是一个数据转换软件&#xff0c;帮助数据库用户导入CSV (TXT)数据到MySQL数据库。用户能够通过TxtToMy更好地将文本(csv)文件数据导入Mysql&#xff0c;十分实用&#xff0c;感兴趣的用户可以自行下载体验。基本简介TxtToMy(txt导入myql数据库)是一款十分优秀的TXT导入到…

外星人台式电脑_推荐|外星人笔记本、主机、台式电脑多少钱?(价格)到底怎么样呢?(双十一)...

自外星人电脑爆火至今&#xff0c;关于它的争议就一直没有断过。有人说外星人电脑是超好用的高配电脑&#xff0c;也有人说买外星人电脑的都是人傻钱多&#xff0c;前段时间我还看到有人还因为这个问题吵了起来。说实话&#xff0c;这真的没有吵架的必要。每个人的消费观念不同…

oracle转换请求无法实施,Oracle服务正常,但不响应请求的问题

服务状态如下&#xff1a;Services Summary...Service "PLSExtProc" has 1 instance(s).Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...Service "orcl" has 1 instance(s).Instance "orcl", status RE…

bpmn流程图_几款流程图制作工具

在流程设计、思路展示、网络布线、工作汇报、简介说明、设计程序等工作中&#xff0c;都少不了要用流程图来形象清晰地说明问题。因此&#xff0c;我们经常需要易用的流程图软件来帮助我们绘制流程图&#xff0c;今天&#xff0c;小编就在这里介绍几款流程图软件。Microsoft Vi…

oracle查询本身字符集,Oracle字符集问题总结

有过一些Oracle使用经验的朋友&#xff0c;大多会知道通过NLS_LANG来设置客户端的情况&#xff0c;NLS_LANG由以下部分组成&#xff1a;NLS_LANG_.&#xff0c;其中第三部分的本意就是用来指明客户端操作系统缺省使用的字符集。所以按正规的用法&#xff0c;NLS_LANG应该按照客…

gdb 没有那个文件或目录_阿黛尔暴瘦变回粉丝喜爱的那个她,依然那样楚楚动人...

阿黛尔(Adele)在《第六夜现场》(Saturday Night Live)主持中首次亮相&#xff0c;穿搭风格再次让人眼前一亮参加15届格莱美奖得主阿黛尔出生于伦敦&#xff0c;已经32岁了&#xff0c;她的R&B音乐获得了两项格莱美奖&#xff0c;在获奖后在表示&#xff0c;她真的不敢相信她…

php 短信验证码对比,php短信验证码的3个优势,你知道是什么吗?

为确保个人用户的合法权益不受损害&#xff0c;也为了确保平台的正常运营&#xff0c;现在各大行业都会通过php短信验证码进行身份验证&#xff0c;比如大家在申请支付宝账号、注册自媒体帐号或者是办理游戏帐号时&#xff0c;都需要先通过php短信验证码审核用户身份后才可继续…

iphonex售价_库克也非常无奈!颁发新规后:依旧未能阻止苹果12的售价大跳水

【11月2日讯】相信大家都知道&#xff0c;苹果在发布了iPhone 12系列手机之后&#xff0c;为了改变以往iPhone手机首发售价就“破发”的尴尬局面&#xff0c;也是直接颁发了新规&#xff0c;限制了国内补贴力度最强的某电商平台—某多多&#xff0c;试图通过重新掌控供应链渠道…

oracle 会话 临时表,Oracle 学习系列之二(会话与事务级临时表)

--创建会话临时表create global temporary table tmp_user_session(user_id int, user_name varchar2(20),user_email varchar2(30))--这句表示 当事务提交时 保留数据on commit preserve rows--向临时表中插入数据insert into tmp_user_session(user_id,user_name,user_email)…

鼠标连点器电脑版_最值得买的鼠标垫推荐-最佳长款桌垫鼠标垫排行榜【2020年10月】...

超大鼠标垫可以将键盘、鼠标都垫着,大而厚实,操作电脑时更方便,不会出现鼠标垫不够用的情况,而且超大鼠标垫还可作为桌垫,美观大方,适合在家使用。今天给大家推荐最佳长款桌垫鼠标垫排行&#xff0c;希望对大家选购鼠标垫有帮助。第一名 美商海盗船|MM300战场风桌垫海盗船的产品…

mybatis调用oracle过程,使用MyBatis调用Oracle存储过程

一、Oracle存储过程存储过程代码&#xff1a;create or replace procedure TEST_DEMO_PROC(param_name IN VARCHAR2, return_result OUT VARCHAR2) isbeginreturn_result : Hello || param_name;end TEST_DEMO_PROC;/测试存储过程&#xff1a;declare result varchar2(100);be…

superoneclick 2.2_减排二氧化碳2.2万吨!“电能替代”助安吉传统产业绿色转型

近日&#xff0c;安吉县孝丰镇丰缘茶场的茶农夏亚红联系上了国网安吉县供电公司的工作人员&#xff0c;希望对方再来指导一下新安装设备的使用和操作。作为安吉县“节能贷”的用户&#xff0c;夏亚红成为该公司推出的茶农专变新服务的首位受益人&#xff0c;她坦言明年炒茶旺季…

linux的内核和发行版本号,【编测编学】linux内核及发行版本相关知识

之前很多孩子就和我说老师我会linux&#xff0c;我就会反问&#xff0c;你学软件测试&#xff0c;你会linux你知道linux的东西如何和企业结合吗&#xff1f;不是你只会一些cd、chmod、chown、ps、find、tar、vim、vi等等就可以说自己会linux的&#xff01;&#xff01;&#xf…

c# spire.xls 设置文字为微软雅黑_只要一分钟,给你的PPT文字加上拼音和声调

每天下午一点&#xff0c;PPT技能进步一点做PPT时必不可少的一项就是字体使用合适的字体可以让我们的PPT更加美观见惯了满屏幕的宋体和微软雅黑你也许想要尝试一下其他的方式来装点的文字何不用拼音&#xff1f;都知道在一些低年级的PPT中会给文字添加拼音相信很多看过语文老师…

linux 查看当前表空间大小,查看表空间和表的使用率

1.查看表空间使用率--查询表空间的总容量select tablespace_name,sum(bytes) /1024/1024 as MB from dba_data_files group by tablespace_name;--查询表空间使用率select total.tablespace_name,round(total.MB, 2) as Total_MB,round(total.MB - free.MB, 2) as Used_MB,roun…