PHP环境下配置WebGrind——让你的网站性能看得见

简介:

今天面试,面试官问我PHP代码怎么去测试其使用性能,我随口一个microtime,测试时间,其实那时候想说一个Wamp下的组件着,结果没记住名字,也想到了Apache的ab.exe,现在想想,唉,这些基本的东西怎么都没记住啊!回来第一件事——玩转这个所谓的PHP性能测试!

  永远记住这个组件的名字——WebGrind。

  1、需要组件环境

    PHP 5.3

    Apache服务器

    xdebug

  我自己用的是Wamp 2.1,不过用什么样的配置方法都是一样的,无非改改PHP.ini,在组件里添加文件。

  闲话少说,正式开始“玩”这个所谓的WebGrind。

  第一步:查看自己的版本中是否存在WebGrind;

    一般wamp的首页有这个选项,当然你也可以通过访问 http://127.0.0.1/webgrind 来查看是否存在;目录在wamp/apps

    当然你也可以下载,自己配置:

    Xdebug下载地址:xdebug http://www.xdebug.org

    WebGrind下载地址:http://code.google.com/p/webgrind/

  第二步,配置php.ini文件:

    找到PHP.ini 中的xdebug,编辑那里的选项,我把所有的off都开启成on了,这样就可以了;我自己又在网上找到别的教程,加上了几句,不知道何用:

; XDEBUG Extension

zend_extension = "H:/wamp/bin/php/php5.3.8/zend_ext/php_xdebug-2.1.2-5.3-vc9-x86_64.dll"

[xdebug]
;from Internet start
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir="H:/wamp/tmp"
;endxdebug.remote_enable = on
xdebug.profiler_enable = on
xdebug.profiler_enable_trigger = on
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "H:/wamp/tmp"

  第三步,测试一下,打开本地的任意一个php文件,WebGrind都会自动监测的,然后打开 http://127.0.0.1/webgrind 查看那里的结果

 

webgrind分析结果参数说明:
   分析结果包括了页面执行过程中所访问的方法,函数以及required/include包含的文件。
   Invocation Count 方法被执行的次数
   Total Self Cost 执行该过程/方法的时间,不包括方法内调用执行其他的自定义函数的时间
   Total Inclusive Cost 方法执行的总时间,包括方法内调用的其他方法的执行时间
   Calls 执行过程中调用的方法/函数
   Total Call Cost 执行所有的调用函数/方法的时间总计
   Count 方法被调用的次数

   关于不同的颜色的说明:蓝色代表PHP内置函数所占耗费时间的比例,绿色是自定义函数所占耗费时间的比例,灰色是required/include所占耗费时间的比例,***是过程执行所占时间的比例
   
   通过该工具我们可以很直观的看到某个方法,某个过程所花费的时间,可以分析出程序的瓶颈在哪里。








本文转自ljianbing51CTO博客,原文链接:http://blog.51cto.com/ljianbing/1604353 ,如需转载请自行联系原作者


相关文章
|
4月前
|
关系型数据库 MySQL API
|
6月前
|
PHP
windows11 vscode 配置 php环境
windows11 vscode 配置 php环境
44 0
|
5月前
|
Linux 应用服务中间件 PHP
Linux下搭建PHP环境-源码编译安装PHP7.2
Linux下搭建PHP环境-源码编译安装PHP7.2
162 0
|
4天前
|
IDE 网络安全 PHP
IJ中PHP环境的搭建和使用教程
搭建PHP环境与配置IDE,在学习网络安全的过程中,了解并掌握编程语言是必要的。本文主要介绍了如何搭建PHP开发环境以及在IntelliJ IDEA (IJ) 中配置PHP环境,以方便进行PHP代码的编写和测试。本章是在学习网络安全过程中,我们需要对两门编程语言有所了解,今天要进行的就是其中的一门.
|
7天前
|
应用服务中间件 PHP nginx
php如何实现检测nginx配置的正确性
请确保在执行此操作时,PHP有足够的权限来执行Nginx命令和访问Nginx配置文件。另外,将上述代码嵌入到您的应用程序中时,要注意安全性,以防止潜在的命令注入攻击。
45 3
|
10天前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,Php环境,配置取消禁止函数exec如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
29 4
|
29天前
|
关系型数据库 MySQL Linux
Centos7 yum安装lAMP 环境 php版本5.6.38 mysql版本5.7.22
Centos7 yum安装lAMP 环境 php版本5.6.38 mysql版本5.7.22
27 0
|
2月前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
34 0
|
4月前
|
安全 Linux 测试技术
PHP环境配置和验证
PHP环境配置和验证
31 0
|
5月前
|
应用服务中间件 Linux PHP
百度搜索:蓝易云【在centos中配置nginx+php的环境教程。】
请注意,上述步骤是基本的配置指南,实际操作中可能会有特定的需求和配置。建议参考Nginx和PHP官方文档或其他详细教程以获得更全面和准确的信息。
45 0