Apache
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,
由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
PHP
PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,
是一种在服务器端执行的嵌入HTML文档的脚本语言。
Xhprof
XhProf是一个分层PHP性能分析工具,可它报告函数级别的请求次数和各种指标,
包括阻塞时间,CPU时间和内存使用情况。
首先下载xhprof for windows版本 我这里已经打包 下载
备注(由于graphviz-2.28.0.msi 有点大所以 不和打包的一起下载 加QQ群212856631
访问群共享来下载里面是完整版的)
(首先保证php的版本要在5.0以上,我的是php5.3.8版本的 使用的是xampp套件,
不知道是否一定要在5.3以上尚未认证!)
1、下载的zip文件解压缩后将php_xhprof.dll 文件,直接放到php的ext目录里面
2、然后将xhprof_html 文件夹和xhprof_lib文件夹直接放到你的根目录下面
3、配置php.ini文件 将下面内容添加到php.ini文件里面
extension=php_xhprof.dll
[quote]
[xhprof]
xhprof.output_dir="D:/xampp/htdocs/xhprof_log"
[/quote]
4、htdocs 是我的项目根目录 所以你xhprof_log你也必须新建一个文件夹名为xhprof_log;
提示:xhprof.output_dir=这个使用于设置性能分析数据存放位置的,我这里应为htdocs在D盘,
故设置为D:/xampp/htdocs/xhprof_log,也就是上述的目录位置
5、添加成功后,可以重启Apache看看phpinfo()信息中是否包含了xhprof的段,
有的话,那就安装成功了 如下图
这样就表示配置成功了
6、下载包里面有个文件graphviz-2.28.0.msi 这个文件 直接安装
为了能够更加直观得分析数据这个是必然的
7、代码测试 我们先简单的运行一段代码看看没有安装视图界面的数据是怎么样的 代码如下
//测试开始配置代码
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
//测试的代码块开始
for($i=1;$i<=1000;$i++)
{
echo$i.'
';
}
//测试的代码块结束
//结束代码块开始
$xhprof_data= xhprof_disable();
include_once("/xhprof_lib/utils/xhprof_lib.php");
include_once("/xhprof_lib/utils/xhprof_runs.php");
$objXhprofRun=newXHProfRuns_Default();
$run_id=$objXhprofRun->save_run($xhprof_data,"xhprof");
echo"view";
//结束代码块结尾
运行以上代码后输出了一个view以及for循环的1000次输出 我们找到view 点击之后 看看下面数据
上面的分析数据看的是否很累呢 但是 这样说明我们以及成功配置了一个性能分析数据,
虽然看得不是很懂 但是我相信英文功底好的各位肯定能够看懂
8、接下来我们安装graphviz-2.28.0.msi 双击安装就像安装exe一样
安装完毕之后我们就可以点击 上图中显示的 [View Full Callgraph] 点击它
看看 我这里点击后的图像效果是什么样的 如下图
是不是很直观,运行for循环1000次 的话费的时间为0.41毫秒 当然如果里面有复杂的mysql查询
或者是其他等等一些操作的所花费的时间都可以明显的在图像中呈现出来,
但是对于只有一条条数据给你看的 非图形界面的时候你会看得非常累!
当你看到上面的图形数据的时候 你就可以知道哪里花费了多少时间所以导致速度慢了运行吗慢了等等,
然后就优化你的代码改进你的程序吧!!!
仅以此献给喜欢php的你…..
如果有问题请留言!!!