php生产环境XHProf 性能分析工具
来源:互联网 发布:北京日知图书有限公司 编辑:程序博客网 时间:2024/05/22 11:48
1. PHP 编译安装XHProf 模块,这个很简单网上大把资料,我这里就不说了。
2. 在你代码入口增加以下代码
if (mt_rand(1, 100) == 1) { if(function_exists('xhprof_enable')) { xhprof_enable(); $code='$xhprof_data = xhprof_disable(); $xhprof_root = "/data/web/data/xh/"; include_once $xhprof_root."xhprof_lib/utils/xhprof_lib.php"; include_once $xhprof_root."xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = new XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, "hx"); //echo "<a href=\"http://{$_SERVER["HTTP_HOST"]}/data/xh/xhprof_html/index.php?run=$run_id&source=hx\" target=\"_blank\">统计</a>"; '; register_shutdown_function(create_function('', $code)); }}
3. 下载生产环境的生产的日志到本地,具体的路径为php.ini里面配置的(为了安全以及不影响线上环境,所以建议下载到本地来分析日志);
4. 编写代码来遍历日志里面的所有文件,找出最慢的日志,然后来分析。
function tree($directory,$time){$mydir = dir($directory);echo "<ul>\n";$filenum=$wtnum=0; while($file = $mydir->read()){if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) { tree("$directory/$file"); }else if(is_file("$directory/$file")){ $filenum++; $_file="$directory/$file"; $data=file($_file); $data=unserialize($data[0]);// debug($data); if($data['main()']['wt']>$time*1000) { $wtnum++; list($run_id,$ext)=explode('.', $file); $dir=$directory; $url="http://{$_SERVER["HTTP_HOST"]}/data/xh/xhprof_html/index.php?run=$run_id&source=hx&dir=$dir"; echo "<li>$file"; echo "<a href=\"{$url}\" target=\"_blank\">统计</a>"; echo '</li>'; } }} echo "</ul>\n"; echo '文件总数:'.$filenum; echo '总执行时间大于'.$time.' ms 总数:'.$wtnum;$mydir->close();}//开始运行$dir="D:/data/xh/logs/pay";$time=2000;tree($dir,$time);运行后的效果为:
5. 修改 xh/xhprof_html/index.php 文件 ,方便我们传入参数可以指定日志目录。
http://{$_SERVER["HTTP_HOST"]}/data/xh/xhprof_html/index.php?run=$run_id&source=hx&dir=$dir
xh/xhprof_html/index.php 加入如下代码
$GLOBALS['XHPROF_LIB_ROOT'] = dirname(__FILE__) . '/../xhprof_lib';session_start();$dir=@$_GET['dir'];if($dir){ $_SESSION['xhdir']=$dir;}else{ $dir=$_SESSION['xhdir'];}
修改
$xhprof_runs_impl = new XHProfRuns_Default();
为
$xhprof_runs_impl = new XHProfRuns_Default($dir);
大功告成,你可以分析你的代码了。
- php生产环境XHProf 性能分析工具
- 在生产环境中使用php性能测试工具xhprof
- 在生产环境中使用php性能测试工具xhprof
- 在生产环境中使用 php 性能测试工具 xhprof
- 在生产环境中使用 php 性能测试工具 xhprof
- 在生产环境中使用php性能测试工具xhprof
- PHP性能分析工具XHProf
- php性能分析工具xhprof
- php性能分析工具xhprof
- 基于在生产环境中使用php性能测试工具xhprof的详解
- XHProf-php轻量级的性能分析工具
- php 性能分析工具xhprof使用手册
- php性能分析工具——XHProf
- php性能分析工具xhprof实战
- PHP 性能分析工具XHProf使用
- XHProf——php性能分析工具
- xhprof(PHP性能分析工具)
- php 性能分析工具xhprof使用简介
- shell 判断字符串是否为数字
- hdoj 2098 分拆素数和
- 如何在已存在AlwaysOn Group中DB上进行数据库还原
- [Python下载CSDN博客]4. V3版本_使用正则表达式分析HTML(一)
- 解决Spring MVC 对AOP不起作用的问题
- php生产环境XHProf 性能分析工具
- 切换用户导致环境变量无法生效解决办法
- SQL Server拆分字符串的3常用种方法
- linux ps命令详解
- tomcat目录结构
- UIScrollView 的放大缩小
- RepairPal:美国汽车后市场的明星APP做的不仅是维修服务,而是大数据
- 四种方式实现Flex页面跳转
- POCO库中文编程参考指南(9)Poco::Net::DNS