欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程语言 > php >内容正文

php

使用xdebug和wincachegrind分析php性能 -凯发k8官方网

发布时间:2025/1/21 php 19 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 使用xdebug和wincachegrind分析php性能 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

web性能日志工具

1.mysql慢查询日志

2.xdebug日志

说道php代码调试,对于有经验的phper,通过echo、print_r、var_dump函数,或php开发工具zend studio、editplus可解决大部分问题,但是对于php入门学习的童鞋来说有一定的难度,而且仅仅通过上述这些php调试手段,也很难准确发现php性能方面的问题,xdebug是一个非常有用的php调试工具 。
xdebug作为php调试工具,提供了丰富的调试函数,也可将xdebug安装配置为zend studio、editplus调试php的第三方插件,通过开启自动跟踪(auto_trace)和分析器功能,可以直观的看到php源代码的性能数据,以便优化php代码。今天和大家分享php调试工具xdebug安装以及配置方面的基础知识。

xdebug安装教程
下载xdebug       http://xdebug.org
首先我们需要下载xdebug,务必根据安装的php版本,选择合适的xdebug版本 ,如果你不清楚安装的php版本,你可以通过phpinfo()函数参看
安装xdebug
将下载的php_xdebug-2.1.0-5.3-vc6.dll复制到php安装目录下的ext目录,ext目录专门用来存放php扩展库dll文件。
配置php.ini
安装xdebug的最后一步就是配置php.ini文件,在末尾添加

java代码  
  • [xdebug]  
  • zend_extension="c:/php/ext/php_xdebug-2.1.0-5.3-vc6.dll"  
  • 最后重启apache服务器,通过phpinfo()函数,可以看到


    利用xdebug测试脚本执行时间

    使用xdebug_time_index()来显示时间

    测试脚本占用的内存:

    xdebug_memory_usage()

    xdebug还提供了一个xdebug_peak_memory_usage()来查看内存占用的峰值

    xdebug部分配置选项说明
    xdebug.auto_trace = 1
    是否允许xdebug跟踪函数调用,跟踪信息以文件形式存储,默认值为0

    collect_params = 1
    是否允许xdebug跟踪函数参数,默认值为0

    xdebug.collect_return = 1
    是否允许xdebug跟踪函数返回值,默认值为0

    xdebug.profiler_enable = 1
    打开xdebug的性能分析器,以文件形式存储,这项配置是不能以ini_set()函数配置的,默认值为0

    xdebug.profiler_output_dir
    性能分析文件的存放位置,默认值为/tmp

    xdebug.profiler_output_name
    性能分析文件的命名规则,默认值为cachegrind.out.%p

    xdebug.trace_output_dir
    函数调用跟踪信息输出文件目录,默认值为/tmp

    xdebug.trace_output_name
    函数调用跟踪信息输出文件命名规则,默认为trace.%c


    特别说明:xdebug的trace和profiler的输出文件名规则是可以更改的,比如将文件名命名为具体跟踪的php执行文件名、进程id、随机数等,非常方便,更多的xdebug配置选项说明,请参考凯发k8官方网官网的xdebug配置选项说明。
    至此php调试工具xdebug教程之xdebug的安装和配置就介绍完了,今后还将陆续介绍xdebug如何在zend studio以及editplus中配置使用。

    xdebug的crontab定时删除一天之前的日志文件,只在测试环境装

    java代码  
  • 0 0 * * * find /tmp/xdebug/ -ctime 1 |xargs rm -f   
  • 在优化php代码执行效率的过程中,有个好办法是利用xdebug或xhprof生成profile文件,然后查看profile文件分析整个程序的瓶颈在哪里。如果用xdebug生成profile文件现在xdebug profile的查看程序有好几个

    wincachegrind是windows下的profile查看程序,使用起来感觉还不错,profile文件太大的话偶尔会崩溃。

    kcachegrind是linux下的一个图形化profile查看工具,功能很强劲。

    总结

    以上是凯发k8官方网为你收集整理的使用xdebug和wincachegrind分析php性能的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

    网站地图