日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

xhprof 安装使用(windows linux混版)

發布時間:2024/9/20 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xhprof 安装使用(windows linux混版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、安裝擴展?

  windows下把?xhprof.dll?放到extensions目錄下

修改配置文件

[xhprof] extension=xhprof.so; ; directory used by default implementation of the iXHProfRuns ; interface (namely, the XHProfRuns_Default class) for storing ; XHProf runs. ; ;xhprof.output_dir=<directory_for_storing_xhprof_runs> ;調試信息的保存路徑 xhprof.output_dir=/tmp/xhprof

?

linux下安裝

wget http://pecl.php.net/get/xhprof-0.9.2.tgztar zxf xhprof-0.9.2.tgzcd xhprof-0.9.2/extension/sudo phpize ./configure --with-php-config=/usr/local/php/bin/php-config sudo make sudo make install

把生成的 xhprof.so 放到擴展的目錄下,并配置記錄存放的路徑

?

php中增加調試代碼 sample.php 文件

function bar($x) {if ($x > 0) {bar($x - 1);} }function foo() {for ($idx = 0; $idx < 5; $idx++) {bar($idx);$x = strlen("abc");} }//開啟調試 xhprof_enable();

// cpu:XHPROF_FLAGS_CPU 內存:XHPROF_FLAGS_MEMORY
// 如果兩個一起:XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY?
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

//要測試的php代碼 foo();//停止監測 $xhprof_data = xhprof_disable();// display raw xhprof data for the profiler run print_r($xhprof_data);//包含工具類,在下載的 tgz 包中可以找到 $XHPROF_ROOT = realpath(dirname(__FILE__) .'/..'); include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php"; include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";// save raw data for this profiler run using default // implementation of iXHProfRuns. $xhprof_runs = new XHProfRuns_Default();// xhprof_foo 指命名空間,可以為任意字符串 $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");echo "---------------\n"."Assuming you have set up the http based UI for \n"."XHProf at some address, you can view run at \n"."http://<xhprof-ui-address>/index.php?run=$run_id&source=xhprof_foo\n"."---------------\n";

?

以表格方式查看

  訪問地址:http://test.cm/xhprof/xhprof_html/index.php?run=539d612de570e&source=xhprof_foo?

run后的參數指生成的文件名, 目錄再php.ini中的?xhprof.output_dir 指定

以圖表方式查看

  1、安裝?Graphviz? 軟件(windows,linux版都有)

  2、修改配置文件 config.php

 

  3、 然后點擊 view full callgraph 鏈接即可

?

紅色節點是整個php程序執行過程中的瓶頸,黃色路徑為整個過程耗時最長的路徑?

?

?輸出結果的含義:

ct 函數調用次數, wt 花費的時間, cpu 花費的 CPU 時間(微秒即百萬分之一秒), mu 使用的內存(bytes), pmu 使用的內存峰值(bytes)。

?

web 分析結果頁面含義

Calls:函數的調用次數 Incl. Wall Time (microsec) :包含內部函數花費的時間,單位微秒 Excl. Wall Time (microsec):不包含內部函數花費的時間,單位微秒 及所占百分比(%)注:Incl.:為 Including 包含的簡寫 Excl.:為 Excluding 不包含的簡寫 Wall Time:意為掛鐘時間即任務花費的時間 main():一個虛構的函數,程序根節點 bar@2:遞歸調用 2 次 Incl. CPU (microsecs):包含內部函數 CPU 花費的時間,單位微秒 Excl. CPU (microsec):不包含內部函數 CPU 花費的時間,單位微秒 Incl. MemUse (bytes):包含內部函數所占內存,單位字節 Excl. MemUse (bytes):不包含內部函數所占內存,單位字節 Incl. PeakMemUse (bytes):包含內部函數所占內存峰值,單位字節 Excl. PeakMemUse (bytes):不包含內部函數所占內存峰值,單位字節 及所占百分比(%)可以認為共三種情況: 1. 包括內部函數 2. 不包括內部函數或者說函數本身 3. 所占總數(時間或內存使用)的百分比

?

?

參考文章:http://blog.aboutc.net/profiling/17/php-profiler-xhprof

     http://www.cnblogs.com/bluefrog/archive/2012/03/01/2374922.html

?    軟件下載(并非官方源文件)http://dev.freshsite.pl/php-extensions/xhprof.html

來源:http://www.cnblogs.com/siqi/p/3790186.html

總結

以上是生活随笔為你收集整理的xhprof 安装使用(windows linux混版)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。