zoukankan      html  css  js  c++  java
  • 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 mpxdebug

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

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

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

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

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

    行动吧

    转:

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

     

  • 相关阅读:
    68
    56
    Django manager 命令笔记
    Django 执行 manage 命令方式
    Django 连接 Mysql (8.0.16) 失败
    Python django 安装 mysqlclient 失败
    H.264 SODB RBSP EBSP的区别
    FFmpeg—— Bitstream Filters 作用
    MySQL 远程连接问题 (Windows Server)
    MySQL 笔记
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/7470536.html
Copyright © 2011-2022 走看看