分析性能

我们可以使用基准测试工具,例如Apache Bench和Siege找出性能问题.从中可以看出性能问题.如果性能问题不是特别明显,就要使用分析器

分析器

xdebug 是一个流行的php分析工具,不过这个分析器只应该在开发环境中使用,因为它会消耗大量系统资源.之后通过webgrind显示分析结果

XHProf.这个工具在开发环境和生成环境都能使用,分析结果的展示也需要使用SHGUI这个工具

Xdebug

使用它分析应用的调用堆桟,能轻易找出瓶颈和性能问题

它是php的一个扩展,安装 pecl  install  xdebug 引入到php.ini中

xdebug.profiler_enable = 0  0:xdebug不自动运行.

xdebug.profiler_enable_trigger = 1   我们可以子啊php应用的任何一个url中加XDEBUG_PROFILE=1查询参数,在单个请求中启动xdebug.进行分析保存到xdebug.profiler_output_dir中

xdebug.profiler_output_dir = /data/appLog/xdebug 报告保存路径(需要提前创建好)

生成的报告类似于这个cachegrind.out.20654

然后安装查看报告的工具webgrind.下载好之后进行nginx配置

git clone https://github.com/jokkedk/webgrind.git

浏览器打开对应的webgrind地址,然后选择你要看的文件

第一项参数意思是把所有被调用函数/方法首先做一个排序,由高到低显示。然后取出前N个,使他们耗时比率之和在90-100%之间。

第二个就是选择profile文件。默认是分析最新一次的xdebug记录。

第三个选项是显示百分比/毫秒/微秒。

下面的彩色进度条一样的东东是耗时量比较条。蓝代表php内置函数,灰色代表requir/onclude,绿代表类方法,橙黄代表类其他过程函数 (用户自定义函数)

Invocation Count 被调用执行的次数

Total Self Cost - 函数自身开销耗时  毫秒/ 微秒 /百分比(并不包含调用其他函数)

Total Inclusive Cost - 综合耗时。包括自身耗时和调用所有的其他函数的耗时


Called From   调用者

Count  调用次数

Total Call Cost   总共耗时



参考

Modern PHP

webgrind安装使用详细说明 - CSDN博客

你可能感兴趣的:(分析性能)