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

简介: 如何一睹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/
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
12月前
|
存储 调度 C++
16 倍性能提升,成本降低 98%! 解读 SLS 向量索引架构升级改造
大规模数据如何进行语义检索? 当前 SLS 已经支持一站式的语义检索功能,能够用于 RAG、Memory、语义聚类、多模态数据等各种场景的应用。本文分享了 SLS 在语义检索功能上,对模型推理和部署、构建流水线等流程的优化,最终带给用户更高性能和更低成本的针对大规模数据的语义索引功能。
814 87
|
存储 运维 监控
日志服务SLS焕新升级:卓越性能、高效成本、极致稳定与智能化
日志服务SLS焕新升级,涵盖卓越性能、高效成本、极致稳定与智能化。新功能特性包括Project回收站、ELasticsearch兼容方案及全链路数据处理能力提升。通过扫描计算模式和数据加工优化,实现更好的成本效果。案例分析展示了一家国内顶级车企如何通过日志服务实现跨云、跨地域的全链路数据处理,大幅提升问题处理效率。
582 9
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
1891 3
|
Java Shell
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
384 1
|
监控 测试技术 开发者
一行代码改进:Logtail的多行日志采集性能提升7倍的奥秘
一个有趣的现象引起了作者的注意:当启用行首正则表达式处理多行日志时,采集性能出现下降。究竟是什么因素导致了这种现象?本文将探索Logtail多行日志采集性能提升的秘密。
754 57
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
464 10
|
存储 监控 算法
基于 PHP 语言的滑动窗口频率统计算法在公司局域网监控电脑日志分析中的应用研究
在当代企业网络架构中,公司局域网监控电脑系统需实时处理海量终端设备产生的连接日志。每台设备平均每分钟生成 3 至 5 条网络请求记录,这对监控系统的数据处理能力提出了极高要求。传统关系型数据库在应对这种高频写入场景时,性能往往难以令人满意。故而,引入特定的内存数据结构与优化算法成为必然选择。
445 3
|
JSON API Go
基于责任链与策略模式的轻量级PHP日志库设计
项目日志乱成一团,bug 时好时坏,服务器问题难以复现?我写了个 PHP 日志系统,第一时间发现问题,避免跑路。实现了责任链模式+策略模式,让日志存储更灵活,支持多种输出方式。
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
存储 监控 Java
JVM进阶调优系列(8)如何手把手,逐行教她看懂GC日志?| IT男的专属浪漫
本文介绍了如何通过JVM参数打印GC日志,并通过示例代码展示了频繁YGC和FGC的场景。文章首先讲解了常见的GC日志参数,如`-XX:+PrintGCDetails`、`-XX:+PrintGCDateStamps`等,然后通过具体的JVM参数和代码示例,模拟了不同内存分配情况下的GC行为。最后,详细解析了GC日志的内容,帮助读者理解GC的执行过程和GC处理机制。