XHProf是一个分层PHP
性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和
内存使用情况。
xhprof步骤
1):准备工作
下载XHProf源码,http://pecl.php.net/package/xhprof 。
新建xhprof用户 , useradd xhprof
安装php,php的在安装路径 /usr/local/php
安装nginx,nginx的在安装路径 /usr/local/nginx
2):安装: (为php添加xhprof扩展)
[root@localhost /home] tar zxvf xhprof-0.9.2.tgz
[root@localhost /home] chown -R xhprof:xhprof xhprof-0.9.2 //改变xhprof-0.9.2文件的属于者
[root@localhost /home]cd ./xhprof-0.9.2/extension
[root@localhost extension]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
[root@localhost extension]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost extension]# make && make install
3:修改php的配置文件php.ini
找到 extension_dir,
并修改为extension_dir = "/usr/local/php/lib/php/extensions/no-
debug-non-zts-20060613/"
增加xhprof配置
[xhprof]
extension=xhprof.so
xhprof.output_dir= /home/xh ;注意:必须存在此路径,并且具有读写权力。
重新加载php.ini,php-fpm reload,,将在phpinfo中看到xhprof相关信息
4):拷贝解压目录xhprof-0.9.2 下的 xhprof_html和xhprof_lib到nginx的根目录下面 ,并在根目录建立一个测试文件phpinfo.php。 phpinfo.php内容如下
<?php
include_once "xhprof_lib/utils/xhprof_lib.php"; //应用程序所在的目录,生存统计数据用到的类库
include_once "xhprof_lib/utils/xhprof_runs.php";//
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
function test(){
echo '测试方法'.'<br>';
}
test();
$xhprof_data = xhprof_disable();
$xhprof_runs = new XHProfRuns_
Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
echo "性能报告地址===="."<a href=http://localhost/xhprof_html/index.php?run=$run_id&source=xhprof_foo>点击查看报告</a>";
?>
在浏览器中输入http://localhost/phpinfo.php,点击报告地址,可以查看函数级别的请求次数和各种指标等。