PHP性能调优,PHP慢日志---PHP脚本执行效率性能检测之WebGrind的使用

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 如何一睹webgrind这个神奇的php性能检测工具神奇呢? 废话不多说首先webgrind这个性能检测是需要xdebug来配合,因为webgrind 进行性能检测分析就是通过xdebug生成的日志文件进行编译分析的   那么这就需要们配置好xdebug,这个一般的php 版本都已经...

 

如何一睹webgrind这个神奇的php性能检测工具神奇呢?

 

废话不多说首先webgrind这个性能检测是需要xdebug来配合,因为webgrind 进行性能检测分析就是通过xdebug生成的日志文件进行编译分析的

 

 

 

那么这就需要们配置好xdebug,这个一般的php 版本都已经有这个扩展了,因为他很大众化,如你不知道,你需要多学喽,

 

如何开启呢?  和php大部分扩展一样需要在ini文件中  引入扩展,同时配置开启xdebug即可,即  把所有的off  搞成on  然后 指定 xdebug日志文件的存放位置

 

然后去重启你的httpd

 

phpinfo中看到的xdebug是开启状态即可

 

 

 

 

 

OK以上咱们已经xdebug配置OK了,那么晚webgrind的时候终于来到了激动不已噢~

 

下载一个webgrind包即可,我个人云盘中搜索webgrind下载即可

 

然后放到  localhost的默认的站点目录下解压缩,然后这是就这么神奇webgrind就会自动去检测xdebug生成的那些  webgrind认识的文件喽

 

这是  我在 www目录也就是我的localhost  默认的站点目录下写了一个这样的脚本:

 

xdebug.php

 

<?php
/**
** @jiaoben  此脚本是xdebug 配合  webgrind 性能测试的脚本程序
** @desc     用来测试性能
**  
*/
function orders(){
$fid = $_GET['fid'];
@$link = mysql_connect("127.0.0.1",'root',"") or die('connect mysqlserver is fail');
mysql_select_db("xxx",$link) or die("connect database is fail"); 
 
$sql ="select a.aa,c.bb,c.cc,d.dd,d.ee,d.time gotime,e.ff,count(g.zzid) buynum  from ky_order a  left join user c on a.aa=c.aa left join shu d on a.shuttleId=d.id left join bus e on a.aid=e.uid left join childOrd f on a.orderId = f.union_orderId left join childOrdDetail  g on f.cid= g.ucidwhere a.fid='".$fid."' and a.psta=1 group by a.oid order by a.sid asc";   

 

$sql_1 ="select*  from ky_order a  left join user c on a.aa=c.aa left join shu d on a.shuttleId=d.id left join bus e on a.aid=e.uid left join childOrd f on a.orderId = f.union_orderId left join childOrdDetail  g on f.cid= g.ucidwhere a.fid='".$fid."' and a.psta=1 group by a.oid order by a.sid asc";   

$res_a = mysql_query($sql);
while($row = mysql_fetch_assoc($res_a)){
$rows[] = $row;
}
var_dump($rows);
}
orders();
?>

 

很明显看到我里面有两个sql语句,区别就是  第一个 写出了我具体要的字段,第二个  *  号查询表中所有字段

 

这是  localhost/xdebug.php  浏览器中执行完毕后,会发现  xdebug这个神奇的扩展,将你此次编译php脚本的过程  做了一个日志文件

 

放到了你指定的目录下我的  目录在wamp\tmp\xdebug

 

你会发现目录下生成一些类似这个东东的样子的文件  :  cachegrind.out.1464941130.2696

 

好了此时我们来到 localhost/webgrind 浏览器中走

 

 

第一个sql  跑后的一个性能检测如下

 

 

然后我们  注释了$sql那行,打开 $sql_1那个SQL语句  跑一下,然后  在webgrind中切换到新生成的xdebug日志,然后update  看一下如下图

 

 

 

 

 

看了之后,偶买噶的,是不是神奇的时间差看的出来了?就这种思想方式去  玩吧,找出你的站中哪里还待你去优化

 

行动吧

转:

http://blog.csdn.net/qq1355541448/article/details/51580462

 

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
5天前
|
搜索推荐 PHP SEO
SEO化在线检测分析PHP源码
SEO化在线检测分析PHP源码,有助于确定您的 SEO 错误并优化您的互联网网页内容以获得更高的搜索引擎评级 还提供与您的竞争对手的逐个方面的 SEO 比较。分析报告甚至可以下载为 PDF 文件以供离线使用 上传服务器后解压安装
32 13
|
2月前
|
存储 监控 Java
JVM进阶调优系列(8)如何手把手,逐行教她看懂GC日志?| IT男的专属浪漫
本文介绍了如何通过JVM参数打印GC日志,并通过示例代码展示了频繁YGC和FGC的场景。文章首先讲解了常见的GC日志参数,如`-XX:+PrintGCDetails`、`-XX:+PrintGCDateStamps`等,然后通过具体的JVM参数和代码示例,模拟了不同内存分配情况下的GC行为。最后,详细解析了GC日志的内容,帮助读者理解GC的执行过程和GC处理机制。
|
3月前
|
Arthas 监控 Java
JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
这篇文章全面介绍了JVM的命令行参数、GC日志分析以及性能调优的各个方面,包括监控工具使用和实际案例分析。
92 3
|
4月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
61 2
|
4月前
|
缓存 监控 测试技术
php-fpm优化调优
php-fpm优化调优
114 4
|
4月前
|
监控 IDE PHP
php xdebug的配置、调试、跟踪、调优、分析
php xdebug的配置、调试、跟踪、调优、分析
|
4月前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
7月前
|
监控 PHP 开发者
PHP中的异常处理与错误日志记录
【6月更文挑战第9天】本文深入探讨了PHP编程语言中异常处理的机制和错误日志记录的策略。我们将通过具体实例来展示如何有效地捕获和处理运行时错误,以及如何利用PHP的错误日志功能来监控和维护代码的健康状态。
57 0
|
8月前
|
应用服务中间件 PHP nginx
php如何实现检测nginx配置的正确性
请确保在执行此操作时,PHP有足够的权限来执行Nginx命令和访问Nginx配置文件。另外,将上述代码嵌入到您的应用程序中时,要注意安全性,以防止潜在的命令注入攻击。
136 3
|
8月前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理实践深入理解PHP的命名空间与自动加载机制
【5月更文挑战第30天】 在容器化和微服务架构日益普及的背景下,Kubernetes 已成为众多企业的首选容器编排工具。然而,随之而来的挑战是集群的监控与日志管理。本文将深入探讨 Kubernetes 集群监控的最佳实践,包括节点资源使用情况、Pods 健康状态以及网络流量分析等关键指标的监控方法。同时,我们也将讨论日志聚合、存储和查询策略,以确保快速定位问题并优化系统性能。文中将介绍常用的开源工具如 Prometheus 和 Fluentd,并分享如何结合这些工具构建高效、可靠的监控和日志管理系统。