WinCacheGrind配合XDebug分析PHP程序性能

使用WinCacheGrind来分析php的执行时间和效率,需要安装XDebug这个扩展。如果对XDebug不太了解的话,请先看《PHP调试利器XDebug的安装与使用》这篇文章。云鼎娱乐城

WinCacheGrind是windows下的profile查看程序。所谓profile,就是程序或软件保存的档案资料,这里的profile就是xdebug生成的Log文件。WinCacheGrind 下载地址:http://sourceforge.net/projects/wincachegrind

前面说到的这篇文章已经介绍了使用XDebug时,对php.ini的配置。但是就算XDebug配置完毕,WinCacheGrind也未必能使用。请确保在php.ini文件有这么两处配置:

;xdebug.profiler_enable = 0 //默认是0,要改掉
xdebug.profiler_enable = on
;xdebug.profiler_output_name = "xdebug_profile.%R::%u" //这个格式WinCacheGrind用不了
xdebug.profiler_output_name = "cachegrind.out.%p"

加了这两行,WinCacheGrind就能使用了。补一个全的:

extension=php_xdebug.dll
xdebug.profiler_enable=on
xdebug.trace_output_dir="X:\Projects\xdebug"
xdebug.profiler_output_dir="X:\Projects\xdebug"
xdebug.profiler_output_name = "cachegrind.out.%p"

最后一行主要是为了和wincachegrind.out整合。

打开WinCacheGrind,将"Tools"=>"Options" =>"Main"的"working flolder" 设置为php.ini中指定的路径xdebug目录。然后刷新一下本地的网页,应该就可以看到下面的监控文件了。

打开在那个目录中生成的 cachegrind.out.* 就可以看到每一个过程调用执行了多长时间。

使用的话比较简单,展开左侧的树形菜单,寻找最耗时的操作,然后找到代码,就可以针对性开始优化了。

时间: 2024-12-06 15:39:04

WinCacheGrind配合XDebug分析PHP程序性能的相关文章

XDebug分析php代码性能

XDebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况.是一个C语言扩展包(Windows下扩展名为.dll). XDebug 下载地址:http://xdebug.org/download.php WinCacheGrind 下载地址:http://sourceforge.net/projects/wincachegrind/ 1. 下载 以Windows环境下php5.2为例.去官方下载合适的XDebug版本,看下图,应该在前两个

在 NetBeans IDE 6.0 中分析 Java 应用程序性能

NetBeans IDE 6.0 包含一个强大的性能分析工具,可提供与应用程序运行时行为有关的重要信息.通过 NetBeans 性能分析工具,我们可以方便地在 IDE 中监控应用程序的线程状态.CPU 性能以及内存使用情况,而且产生的开销相对较少. 本文将概述 IDE 中包含的性能分析工具,并指导您快速开始分析 NetBeans 项目的性能.本文旨在演示 IDE 中可用的各种性能分析任务以及分析项目性能时可以获得的分析结果.但并不覆盖 IDE 中包含的所有性能分析功能,也不会深入探索如何研究性能

使用xdebug对php做性能分析调优

作为PHP程序员我们或多或少都了解或使用过xdebug.此文章记录安装和配置xdebug,以及如何使用它来分析php程序. 我的机器环境: mac, php 安装 xdebug 推荐使用 pecl 安装扩展 pecl install xdebug 注:可以选择版本, https://pecl.php.net/package/xdebug 启用和配置 如果不知道php的配置文件,可以用 php --ini 查看 启用 xdebug,添加一个独立的 ext-xdebug.ini 到 php 的配置目

google perftools分析程序性能

Google perftools 1.功能简介 它的主要功能就是通过采样的方式,给程序中cpu的使用情况进行“画像”,通过它所输出的结果,我们可以对程序中各个函数(得到函数之间的调用关系)耗时情况一目了然.在对程序做性能优化的时候,这个是很重要的,先把最耗时的若干个操作优化好,程序的整体性能提升应该十分明显,这也是做性能优化的一个最为基本的原则—先优化最耗时的. 2.安装 1.下载gperftools Wget https://code.google.com/p/gperftools/downl

VS2010自带的性能分析工具分析.NET程序的性能

这篇博文给大家分享的是,如何使用VS自带的性能分析工具来分析我们编写的.NET程序,一边找出程序性能的瓶颈,改善代码的质量.在实际开发中,性能真的很重要,往往决定一个产品的生死~良好的用户体验的基础之一也是程序要有好的性能~ 下面以一个大家熟悉比较极端的例子,来说明编写代码时考虑性能的重要性.这里DebugLZQ用的是10.0版本的VS. 示例程序代码如下: using System;using System.Collections.Generic;using System.Linq;using

C++应用程序性能优化(三)——C++语言特性性能分析

C++应用程序性能优化(三)--C++语言特性性能分析 一.C++语言特性性能分析简介 通常大多数开发人员认为,汇编语言和C语言比较适合编写对性能要求非常高的程序,C++语言主要适用于编写复杂度非常高但性能要求并不是很高的程序.因为大多数开发人员认为,C++语言设计时因为考虑到支持多种编程模式(如面向对象编程和范型编程)以及异常处理等,从而引入了太多新的语言特性.新的语言特性往往使得C++编译器在编译程序时插入了很多额外的代码,会导致最终生成的二进制代码体积膨胀,而且执行速度下降.但事实并非如此

使用xdebug分析thinkphp框架函数调用图

开发中需要性能调优,使用xdebug分析thinkphp框架函数调用图. 关于xdebug的安装参考这2篇 NetBeans配置Xdebug 远程调试PHP php扩展xdebug安装以及用kcachegrind系统分析 1.安装xdebug 需要先去http://www.xdebug.org看看一些文档,xdebug作为php扩展安装 # http://www.xdebug.org/files/xdebug-2.3.3.tgz # tar -xzf xdebug-2.3.3.tgz# cd x

C# 程序性能提升篇-2、类型(字段类型、class和struct)的错误定义所影响性能浅析

前景提要: 编写程序时,也许你不经意间,就不知不觉的定义了错误的类型,从而发生了额外的性能消耗,从而降低了效率,不要说就发生那么一次两次,如果说是程序中发生了循环.网络程序(不断请求处理的)等这些时候,减少了不必要额外的消耗,使优化程序提高效率的一种途径.不仅跬步,无以至千里,不积小流,无以至江河.优化从点点滴滴做起. 一.问题抛出: 大家先看这么一段定义 class ReserveData  { public string ReserveId;   public string patient_

以C语言为例的程序性能优化 --《深入理解计算机系统》第五章读书笔记

其实大多数的编译器本身就能提供一些简单的优化,比如gcc就能通过使用 -O2 或者 -O3 的选项来优化程序.但编译器的优化始终也是有限,因为它必须小心翼翼保证优化过程不对程序的功能有改动.故而程序员本身应该对程序有优化意识.在我看来,这也是应该有的一种良好的编程习惯. 几种比较简单的优化措施: 1.代码移动 将要执行多次(比如在循环中)但计算结果不会改变的计算,移动到代码前面不会多次求值的部分.举一个比较极端的例子: /* convert string to lowercase: slow*/