Xhprof安装笔记(PHP性能监控)
由facebook开源出来的一个PHP性能监控工具,占用资源很少,甚至能够在生产环境中进行部署。
它可以结合graphviz使用,能够以图片的形式很直观的展示代码执行耗时
wget http://pecl.php.net/get/xhprof-0.9.4.tgz
tar zxvf xhprof-0.9.4.tgz
cd xhprof-0.9.4/extension/
/usr/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
mkdir /tmp/xhprof
chown -R www:www /usr/local/src/xhprof-0.9.4 # 编辑php.ini:
[xhprof]
extension = xhprof.so
xhprof.output_dir=/tmp/xhprof 重启服务 service php-fpm restart # 最后返回数组,就表示安装好了。具体哪些值是什么意思先别管,因为下面有UI的配置。会很直观!
yum -y install libjpeg freetype freetype-devel libjpeg-devel liberation-sans-fonts.noarch 自动安装 yum -y install graphviz 为Xhprof配置一个访问站点(虚拟主机) 比如做一个虚拟域名 dev.xhprof.com
绑定到xhprof的站点根目录 /usr/local/xhprof-0.9.4/xhprof_html # 找到你要分析的代码,在代码开始处添加,start profiling,将会统计内存占用情况
xhprof_enable(XHPROF_FLAGS_MEMORY); # 在代码结束位置添加
$xhprof_data = xhprof_disable(); // stop profiler, display raw xhprof data for the profiler run
include_once ("/usr/local/src/xhprof-0.9.4/xhprof_lib/utils/xhprof_lib.php"); # 请注意设置站点 include_path 权限
include_once ("/usr/local/src/xhprof-0.9.4/xhprof_lib/utils/xhprof_runs.php");
$xhprof_runs = new \XHProfRuns_Default();
// Save the run under a namespace "xhprof_foo".
// **NOTE**:
// By default save_run() will automatically generate a unique
// run id for you. [You can override that behavior by passing
// a run id (optional arg) to the save_run() method instead.]
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
$str = "\r\n------------------\r\n".
"Assuming you have set up the http based UI for \r\n".
"XHProf at some address, you can view run at \r\n".
"http://dev.xhprof.com/index.php?run=$run_id&source=xhprof_foo".
"\r\n------------------\r\n";
echo nl2br($str); 然后进入程序输出的网址(比如 http://dev.xhprof.com/index.php?run=52c0ea0bef834&source=xhprof_foo ),进行查看
下面是一些参数说明
Inclusive Time 包括子函数所有执行时间。
Exclusive Time/Self Time 函数执行本身花费的时间,不包括子树执行时间。
Wall Time 花去了的时间或挂钟时间。
CPU Time 用户耗的时间+内核耗的时间
Inclusive CPU 包括子函数一起所占用的CPU
Exclusive CPU 函数自身所占用的CPU
点击 [View Full Callgraph] 能够以图文的形式查看,很方便 注意: 需要使用ctype这个扩展,Callgraph图片生成依赖一些PHP系统级的函数,所以,最好去掉 php.ini 中的函数禁用
Xhprof安装笔记(PHP性能监控)的更多相关文章
- 深入理解Java虚拟机之读书笔记四 性能监控与故障处理工具
JDK的bin目录下存在很多有效的命令行工具,它们就是jdk\lib\toos.jar类库的封装. 一.jps:虚拟机进程状况工具,查询出LVMID. 二.jstat:虚拟机统计信息监视工具, 三.j ...
- PHP性能优化工具–xhprof安装
PHP性能优化工具–xhprof安装,这里我先贴出大致的步骤: 1.获取xhprof 2.编译前预处理 3.编译安装 4.配置php.ini 5.查看运行结果 那么下面我们开始安装xhprof工具吧: ...
- 分布式监控系统Zabbix3.4-针对MongoDB性能监控操作笔记
公司在IDC机房的一台服务器上部署了MongoDB,由于所存储的业务数据比较重要,所以对MongoDB的监控显得尤为重要!Zabbix监控MongoDB性能的原理:通过echo "db.se ...
- influxDB1.6版安装与配置(windows环境)、Jmeter+influxDB+Grafana性能监控
influxDB1.6版安装与配置(windows环境).Jmeter+influxDB+Grafana性能监控 来源:https://blog.csdn.net/SwTesting/article/ ...
- PHP性能检测与优化—XHProf 安装
PHP性能检测与优化—XHProf 安装 XHProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进 ...
- jmeter使用笔记——脚本录制,JMeter使用plugins插件进行服务器性能监控
脚本录制: 1.badboy录制 2.代理服务器录制 ①工作台添加HTTP代理服务器 ②设置目标控制器,分组,排除模式,包含模式(使用正则表达式筛选) ③设置浏览器,手动设置代理服务器,localho ...
- Jmeter-插件扩展及性能监控插件的安装
需要对http服务进行大数据量的传值测试:看看产品中的http服务,能支持传多少字符:目标值是希望能到10w+: 上次测试中,服务器总是内存满导致服务不响应,因此想增加对服务端的性能监控:查阅了smi ...
- xhprof安装使用
安装: 到pecl官网下载xhprof的最新版:http://pecl.php.net/package/xhprof wget http://pecl.php.net/get/xhprof-0.9.4 ...
- 对SQLSERVER进行性能监控
对SQLSERVER进行性能监控 在上一篇文章<SQLSERVER性能监控级别步骤>里说到性能监控的步骤中有一步涉及到建立性能基线,但是没有说到有哪些计数器 可以用来进行监控的,这篇文章结 ...
随机推荐
- [译] Closures in Lua - Lua中的闭包
原文:(PDF) . 摘要 一等(first-class)函数是一种非常强大的语言结构,并且是函数式语言的基础特性.少数过程式语言由于其基于栈的实现,也支持一等函数.本文讨论了Lua 5.x用于实现一 ...
- 慕课网-安卓工程师初养成-1-5 使用Eclipse开发Java程序
来源: http://www.imooc.com/video/1412 eclipse --- IDE 集成开发环境(IDE)是一类软件 将程序开发环境和程序调试环境集合在一起,提高开发效率 其他ID ...
- memcached学习(3)memcached的删除机制和发展方向
memcached是缓存,所以数据不会永久保存在服务器上,这是向系统中引入memcached的前提. 本次介绍memcached的数据删除机制,以及memcached的最新发展方向--二进制协议(Bi ...
- c# 生成json数据包
json数据类型,归根到底就是一个字符串,管他里面什么格式,它就是一个字符串来的! 看一个json数据包: { "touser":"OPENID", " ...
- Oracle之别名小结
今天在写一个简单的SQL语句并执行时抛出了如下图所示的一个错误提示信息! 恩,此异常信息很明显,在SQL语句中标示符的长度过长了,简短一些就应该没问题了,我查看了一下我的SQL语句发现是我的查询字段的 ...
- 学习练习 java 输入输出流练习2
编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt p ...
- Android ROM 备书
1. Android ROM 目录接口 我们经常说的刷ROM是刷系统的意思,但是ROM的原意并不是这样,ROM的全称是read only memory只读储存器,正因为它是“只读”的,而且系统文件通常 ...
- 【spring 3】AOP:静态代理
一.代理的基本简介 首先,在什么时候使用代理: 在面向方面编程过程中,当需要对所有类进行某种操作(如,安全性检查,记录操作日志)时,考虑到OCP原则,我们不能在所有实现类中直接添加某些相关方法,这样一 ...
- Cordova V3.0.0中config.xml配置文件的iOS Configuration
http://www.cnblogs.com/lovecode/articles/3305655.html 轉載這個 <preference> 关于这个标签的可用设置有: Disall ...
- 解决Linq第一次调用存储过程时速度慢的问题
最近做项目,发现linq调用存储过程,第一次时会速度慢,但之后速度都很快,过一阵子又会慢一下,以实际的操作为例子: using (FruitDbDataContext dbo = new FruitD ...