PHP性能调优,PHP慢日志---PHP脚本执行效率性能检测之WebGrind的使用
如何一睹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
PHP性能调优,PHP慢日志---PHP脚本执行效率性能检测之WebGrind的使用的更多相关文章
- 性能调优之访问日志IO性能优化
性能调优之访问日志IO性能优化 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821 ...
- JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)
性能分析工具jstatjmapjhatjstack 前提概要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jsta ...
- PHP脚本执行效率性能检测之WebGrind的使用
webgrind这个性能检测是需要xdebug来配合,因为webgrind 进行性能检测分析就是通过xdebug生成的日志文件进行编译分析的 那么这就需要们配置好xdebug,这个一般的php 版本都 ...
- Java 应用性能调优实践
Java 应用性能优化是一个老生常谈的话题,笔者根据个人经验,将 Java 性能优化分为 4 个层级:应用层.数据库层.框架层.JVM 层.通过介绍 Java 性能诊断工具和思路,给出搜狗商业平台的性 ...
- Informatica_(6)性能调优
六.实战汇总31.powercenter 字符集 了解源或者目标数据库的字符集,并在Powercenter服务器上设置相关的环境变量或者完成相关的设置,不同的数据库有不同的设置方法: 多数字符集的问题 ...
- [转载]Java 应用性能调优实践
Java 应用性能调优实践 Java 应用性能优化是一个老生常谈的话题,笔者根据个人经验,将 Java 性能优化分为 4 个层级:应用层.数据库层.框架层.JVM 层.通过介绍 Java 性能诊断工具 ...
- 【JAVA进阶架构师指南】之五:JVM性能调优
前言 首先给大家说声对不起,最近属实太忙了,白天上班,晚上加班,回家还要收拾家里,基本每天做完所有事儿都是凌晨一两点了,没有精力再搞其他的了. 好了,进入正题,让我们来聊聊JVM篇最后一个章节 ...
- [Spark性能调优] 第一章:性能调优的本质、Spark资源使用原理和调优要点分析
本課主題 大数据性能调优的本质 Spark 性能调优要点分析 Spark 资源使用原理流程 Spark 资源调优最佳实战 Spark 更高性能的算子 引言 我们谈大数据性能调优,到底在谈什么,它的本质 ...
- 【Eclipse】Eclipse性能调优
Eclipse性能调优 eclipse 吃内存_百度搜索 eclipse 性能调优之内存分配 - Defonds 的专栏 - CSDN博客 优化JVM参数提高eclipse运行速度 - Java综合 ...
随机推荐
- SMO详解
转自:简书https://www.jianshu.com/p/55458caf0814 SVM通常用对偶问题来求解,这样的好处有两个:1.变量只有N个(N为训练集中的样本个数),原始问题中的变量数量与 ...
- 外网IP和内网IP的区别
这两天遇到一个bug,折腾的够呛,已经上线的项目,出现了个人登录不上的情况,瞬间整个人都不好了,首先找问题,在本地和测试服务器上都没问题,打包发布到正式环境就出现问题了,刚开始我看不了日志,日志要找别 ...
- bzoj千题计划161:bzoj1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
http://www.lydsy.com/JudgeOnline/problem.php?id=1589 tarjan缩环后拓扑排序上DP #include<cstdio> #includ ...
- negativeView 的使用
参考链接:http://blog.csdn.net/u012702547/article/details/51253222 1.一般来讲,是配合drawerLayout使用的,在xml文件中声明,其中 ...
- linux scp上传文件到其他机器上
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- #import 指令
[#import 指令] #import指令用于从一个类型库中结合信息.该类型库的内容被转换为C++类,主要用于描述COM界面. 语法 #import "文件名" [属性] #im ...
- 样式缩写——css技巧(一)
一.margin和padding缩写 例: .sample-margin1{ margin-top:15px; margin-right:20px; margin-bottom:12px; margi ...
- ubuntu 开机自动挂在windows下的分区
最近装了Ubuntu14.04 + windows7 的双系统,启动Ubuntu的时候,不会自动挂载win7的分区,只有我点击相应的硬盘符号时才会挂载/media下面.本着折腾到底的原则,在网上搜了搜 ...
- 多进程+协程 处理IO问题
from multiprocessing import Pool import gevent,os import time def recursion(n): if n == 1 or n ==2: ...
- Linux基础操作-分区概念
开启Linux系统前添加一块大小为20G的SCSI硬盘 开启系统,右击桌面,打开终端 为新加的硬盘分区,一个主分区大小为10G,剩余空间给扩展分区,在扩展分区上划分两个逻辑分区,大小各5G 进入分区工 ...