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' . "\n";
xdebug:
老牌測試工具,很好用,測試環境用這個很方便,但線上用這個性能就太耗了。