xdebug对php程序性能分析

这里只是对xdebug性能优化(xdebug还可以结合其他ide断点调试等)简单描述下,详细的可以参考xdebug的官方站点 http://xdebug.org/

xdebug是什么

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。(http://baike.baidu.com/view/1823486.htm)

xdebug的安装

php的集成开发环境wampserver和xampp都已安装xdebug,不过可能没有开启,需要到php.ini中开启,通过phpinfo可以得知是否安装了xdebug的扩展;

原生的php环境(win32或者linux)如何安装xdebug,baidu或google下

xdebug跟踪性能的方式

1 使用xdebug的api xdebug_time_index() ,具体的参考http://xdebug.org/docs/basic

2 生成文件,通过工具来分析,具体的参考 http://xdebug.org/docs/profiler

生成文件的方式也有两种:

a 每次执行程序都生成一个文件

b根据get/post/cookie参数生成文件

例:http://localhost/index.php?XDEBUG_PROFILE   注意这里 一定要大写

cookie方式firebug和chrome都有插件

使用这种方式需要将xdebug.profiler_enable设置为0,并开启xdebug.profiler_enable_trigger

工具

Webgrind 这个是基于浏览器的php程序,需要分析的文件不多的情况下,可以很方便的使用

WinCacheGrind win32平台

KCacheGrindtool (Linux/Windows, KDE)

我的部分xdebug参数(没有写的属性都是有默认值的)

zend_extension = "D:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = On
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = On
xdebug.profiler_output_dir = "D:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.-%s"

时间: 2024-10-11 22:53:35

xdebug对php程序性能分析的相关文章

程序性能分析及性能测试

这里所说的程序是指对外提供tcp/ip交互协议的服务性程序.网络程序性能分析很重要,比如随着网络请求流量越来越大,我们需要知道已部署的服务能不能满足需求.这里采用对网络服务程序进行建模的方法分析影响程序性能的各要素,并计算相关性能值,它不够精确,但对我们使用其它工具对网络程序进行性能测试提供很好的理论指导. 1.网络请求 图1 什么是网络请求?如图1是<UNIX 网络编程>一书中表示网络交互过程的一幅图,整个请求是指从客户端到服务端 write->read->write->r

Linux程序性能分析和火焰图

Linux程序性能分析和火焰图 Linux程序的性能分析工具数量比较多,涉及到整个操作系统的方方面面,可能是开源的原因吧,相对于Windows来说丰富太多.其中应用分析性能方面Dtrace, SystemTap, Perf_events应该算是这方面的集大成者.Dtrace目前只在较高的内核版本有支持,记得是4.8以后, SystemTap则是需要在Red Hat的官方网站下载OS版本对应的调试符号和对应的调试版本内核,配置起来需要花费一定的时间,只有Perf_events使用起来比较方面,但是

python程序性能分析

目录 python程序性能分析 cProfile line_profiler memory_profiler 资源监控 python程序性能分析 cProfile https://docs.python.org/3/library/profile.html https://www.cnblogs.com/kaituorensheng/p/4453953.html python -m cProfile [-o output_file] [-s sort_order] (-m module | my

Python程序性能分析实例

在进行代码评审时,得知资源处理程序运行时间很长,遂考虑对其进行性能分析 资源处理程序分为,读取处理.排序.输出三部分,在300万数量级的输入时,大约需要50分钟.对三部分分别计时,先使用10万输入数据进行测试,运行总时间为75秒,其中读取处理耗时65秒. 接下来计划对读取处理过程中的每一行代码进行时间统计,调研有无相关工具可以帮助进行性能分析.终于在http://blog.jobbole.com/47619/中找到合适的工具,line_profiler. 1.工具安装: 使用pip instal

Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器

VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回收器.执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作. 在内存分析上,Java VisualVM的最大好处是可通过安装Visual GC插件来分析GC(Gabage Collection)趋势.内存消耗详细状况. 一  Visual GC(监控垃圾回收器) Java Visu

一个python 服务器程序性能分析

该服务器为bono,启动11个进程. 在启动服务的总入口设置cprofile if __name__=="__main__": import cProfile cProfile.run('main()','bono.profile') 使用命令行中的time运行 $time python xxx.py ### 服务一直运行,等待几秒后,停止服务,在命令行中显示:    分析   等待时间为16.793(17.709-0.792-0.124)  ;内核运行时间为0.124 :用户态运行时

Go1.5正式版程序性能分析小积累,实验环境windows64

方法一: 内存分配器跟踪:GODEBUG=allocfreetrace=1 调度器追踪 调度器追踪能够提供对 goroutine 调度的动态行为的内视,而且同意调试负载平衡和可扩展性问题.要启用调度器追踪. 能够带有环境变量 GODEBUG=schedtrace=1000 来执行程序(这个值的意思是输入的周期,单位 ms,这样的情况下是每秒一次): set GODEBUG=schedtrace=1000 SCHED 1004ms: gomaxprocs=4 idleprocs=0 threads

Windows/Linux环境下使用Java VisualVM进行Java程序性能分析与监视

若Java程序耗用资源较多,运行不稳定,可使用其自带的VisualVM工具进行监视和性能分析,同时也可根据其提供的"应用程序快照"功能,生成快照后进一步分析.操作步骤如下: 1. 在Windows的CMD控制台或者Linux终端下执行"jvisualvm"命令进入Java VisualVM工作台. 2. 双击左侧树形进程菜单,即可查看此进程相关运行情况.同时右键可操作应用程序快照生成,供离线进一步分析.(如何知晓Java程序对应进程ID,可参阅这篇博文:http:/

程序性能分析工具

很多优秀的工具都能帮助我们分析程序的性能.内存使用情况.瓶颈等问题.这里不讲原理,只介绍工具,原理请移步. valgrind 这个工具很强大,它集成了诸如memcheck.massif等的多个工具,可以分析很多东西,其中memcheck是最常用的工具,可以检测内存使用情况以及泄漏情况,分析后输出的内容也足够详细. 安装:sudo apt-get install valgrind gprof GNU工具,可以分析函数的消耗时间,调用关系等.需要编译器的帮助,即编译时要加一个选项gcc -pg ..