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

     

  • 相关阅读:
    每天一个Linux命令(3): cd
    每天一个Linux命令(2): ls
    scala学习笔记(2)
    jmeter性能测试 套路二
    selenium实战2 登陆博客园
    jmeter响应断言
    Python验证码通过pytesser识别
    selenium实战学习第一课
    appium的webdriver执行swipe
    APPIUM 输入中文 之套路
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/7470536.html
Copyright © 2011-2022 走看看