• php性能调试工具介绍


    php版本:php7

    xhprof:

    xhprof是php5.*下很好的性能测试工具,配合xhprof_html能够图形显示测试结果,基本够用,

    但已经没人维护了。

    tideways:

    在php7下,xhprof不再兼容,于是有个tideways,基于xhprof开发,它是收费的。

    安装后模块名是tideways,用php --re tideways可以看到很多ini配置,参数和方法,

    此模块很强大,有很多方法和配置用来连接官方服务器,用于收费用户的后台显示管理。

    同样,也可以配合xhprof_html显示结果,也有自己的一套图形

    tideways_xhprof:

    它有个开源分支,tideways_xhprof,是免费的,和tideways不同的是,它主要是为了兼容xhprof,

    没有官方那么多配置,安装后模块名是tideways_xhprof,方法也就两个,tideways_xhprof_enable()和

    tideways_xhprof_disable(),图形显示和tideways相同。

    这是一个使用demo:

    <?php
    
    //这个require是用与cli下执行php脚本,用xhgui显示。
    //require_once '/home/liuxuzzz/bin/xhgui-branch/external/header.php';
    
    tideways_xhprof_enable(TIDEWAYS_XHPROF_FLAGS_MEMORY | TIDEWAYS_XHPROF_FLAGS_MEMORY_MU | TIDEWAYS_XHPROF_FLAGS_MEMORY_PMU | 
    TIDEWAYS_XHPROF_FLAGS_CPU | TIDEWAYS_XHPROF_FLAGS_NO_BUILTINS);
    
    function microtime_float()
    {
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$sec + (float)$usec);
    }
    $start_time = microtime_float();
    sleep(1);
    $end_time = microtime_float();
    
    $data = tideways_xhprof_disable();
    
    require '/home/liuxuzzz/bin/xhprof/xhprof_lib/utils/xhprof_lib.php';
    require '/home/liuxuzzz/bin/xhprof/xhprof_lib/utils/xhprof_runs.php';
    // 注意此处的"/tmp",因为如果没有此参数,XHProfRuns_Default()会使用xhprof.output_dir参数,
    // 但是xhprof我没有安装,所以配置了没用,导致执行会报warning
    $xhprofRuns = new XHProfRuns_Default("/tmp"); $runId = $xhprofRuns->save_run($data, 'xhprof_test'); echo 'http://localhost/xhprof/index.php?run=' . $runId . '&source=xhprof_test' . " ";

    xdebug:

    老牌测试工具,很好用,测试环境用这个很方便,但线上用这个性能就太耗了。

  • 相关阅读:
    工欲善其事,必先利其器
    年度总结
    人脸解锁从底层到上层(一)
    Hexo NexT 主题添加评论和文章阅读量
    摄影历程-第一章
    西藏之旅
    软件测试和评估
    WordCount优化
    WordCount编码与测试
    值得深入思考的五个问题
  • 原文地址:https://www.cnblogs.com/liuxuzzz/p/8276483.html
Copyright © 2020-2023  润新知