首页 » 网站建设 » php层级查找技巧_简单进修PHP中的层次机能分析器

php层级查找技巧_简单进修PHP中的层次机能分析器

duote123 2024-11-23 0

扫一扫用手机浏览

文章目录 [+]

大略来说,XHProf 便是能为我们网络很多程序去得时的系统状态,并且它自带一套在线图表工具,能够为我们供应详尽的图表信息。

安装

直接在 PECL 下载安装扩展包即可。
和其它的扩展安装并没有什么两样,这个扩展一贯在更新掩护状态中,以是对付 PHP7 版本都是完美支持的。

php层级查找技巧_简单进修PHP中的层次机能分析器

命令行利用

xhprof_enable(XHPROF_FLAGS_NO_BUILTINS|XHPROF_FLAGS_CPU|XHPROF_FLAGS_MEMORY);//xhprof_enable(XHPROF_FLAGS_CPU|XHPROF_FLAGS_MEMORY);//xhprof_enable(XHPROF_FLAGS_MEMORY);//xhprof_enable();for($i=0;$i<=1000;$i++){$a=$i$i;}functiontest_application(){for($i=0;$i<=1000;$i++){$a=$i$i;}}test_application();$xhprof_data=xhprof_disable();print_r($xhprof_data);//Array//(//[main()==>test_application]=>Array//(//[ct]=>1//[wt]=>16//[cpu]=>21//[mu]=>848//[pmu]=>0//)//[main()]=>Array//(//[ct]=>1//[wt]=>115//[cpu]=>115//[mu]=>1416//[pmu]=>0//)//)

利用 xhprof_enable() 启用剖析器,它的参数是几个常量,大概的意思便是显示 CPU 信息、内存信息等,如果没有参数的话则只会返回 ct 、 wt 这两个参数。

php层级查找技巧_简单进修PHP中的层次机能分析器
(图片来自网络侵删)

调用 xhprof_disable() 结束剖析并返回剖析结果,返回值的内容包括 main 主函数的运行情形,也便是我们当前页面测试代码的情形。
还有调用的函数 test_application() 函数的性能情形。
详细内容为:

ct:调用次数wt:等待运行时长,毫秒cpu:cpu 运行时长,毫秒mu:内存利用,字节pmu:内存利用峰值

没错,便是这么大略的内容。
通过两个函数的调用我们就能看到当前脚本程序的运行状态,占用了多少内存、耗费了多少 cpu 时长。
当然,更方便的是,它还可以通过 web 页面显示更为详细的信息。

web 查当作果报告

首先,我们须要做一些准备事情。
一是要安装一个 graphviz 用于图形绘制,二是修正 php.ini 文件的结果存放目录,三是拷贝源码中的剖析器代码并修正一下我们之前的测试代码。

yuminstallgraphviz

CentOS 系统中我们直策应用 yum 就可以安装 graphviz 。
然后我们在 php.ini 文件中为 xhprof 指定一下输出目录。

xhprof.output_dir=/tmp

接下来,我们须要将源码文件中的 xhporf_html 目录和 xhporf_lib 目录拷贝出来放到项目文件下。
然后修正代码来保存性能剖析的结果。

//.....上面的代码$xhprof_data=xhprof_disable();require'xhprof_lib/utils/xhprof_lib.php';require'xhprof_lib/utils/xhprof_runs.php';$xhprofRuns=newXHProfRuns_Default();$runId=$xhprofRuns->save_run($xhprof_data,'xhprof_test');echo'http://192.168.56.102/index.php?run='.$runId.'&source=xhprof_test';

然后我们须要在 xhporf_html 搭起做事器,在这里我就用大略的 php -S 命令运行起来。

cdxhprof_html/php-S0.0.0.0:80

末了用上面输出的链接来访问这个页面,就可以看到干系的信息了。

总结

本日的测试代码只是大略的学习入门了一下 xhporf 的利用。
实在这个扩展以及这套剖析工具是可以集成到我们真实项目的框架中的。
这样,在测试环境我们就可以很好地监控当出路序的运行状态。
不过,还是不太建议放在正式环境中利用,毕竟 Debug 或者这种性能剖析的东西都不要对外,在正式环境,我们可以在命令行进行剖析调优。

测试代码:

https://github.com/zhangyue0503/dev-blog/blob/master/php/202006/source/%E7%AE%80%E5%8D%95%E5%AD%A6%E4%B9%A0PHP%E4%B8%AD%E7%9A%84%E5%B1%82%E6%AC%A1%E6%80%A7%E8%83%BD%E5%88%86%E6%9E%90%E5%99%A8.php

参考文档:

https://www.php.net/manual/zh/book.xhprof.php

https://segmentfault.com/a/1190000003509917

标签:

相关文章

介绍皮肤设置,如何打造理想肌肤状态

随着科技的发展和人们对美的追求,皮肤设置已成为美容护肤的重要一环。如何根据皮肤类型、肤质、年龄等因素进行合理设置,已成为众多爱美人...

网站建设 2025-01-03 阅读1 评论0

介绍盖章制作,传承文化,彰显权威

自古以来,盖章在我国文化中具有重要的地位。从古代的官印、私印到现代的公章、合同章,盖章已成为一种独特的文化符号,承载着丰富的历史内...

网站建设 2025-01-03 阅读1 评论0

介绍监控破坏,技术手段与法律风险并存

随着科技的飞速发展,监控设备已遍布大街小巷,成为维护社会治安的重要手段。一些不法分子为了逃避法律制裁,开始研究如何破坏监控设备。本...

网站建设 2025-01-03 阅读1 评论0

介绍登录不上之谜,技术故障还是人为疏忽

随着互联网的普及,登录已成为人们日常生活中不可或缺的一部分。在享受便捷的登录不上这一问题也困扰着许多用户。本文将深入剖析登录不上之...

网站建设 2025-01-03 阅读1 评论0

介绍电脑键盘调出方法,让操作更高效

随着科技的发展,电脑已经成为了我们日常生活中不可或缺的工具。而电脑键盘,作为电脑输入设备,更是我们与电脑进行交流的桥梁。你是否知道...

网站建设 2025-01-03 阅读1 评论0

介绍磁力链,高效便捷的文件下载利器

在互联网高速发展的今天,文件下载已成为日常生活中不可或缺的一部分。而磁力链作为一种新型的文件下载方式,凭借其高效、便捷的特点,受到...

网站建设 2025-01-03 阅读1 评论0