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:
老牌测试工具,很好用,测试环境用这个很方便,但线上用这个性能就太耗了。