Centos7安装配置Xhgui
XhProf是Facebook出品的一个PHP性能监控工具,只包含基本的界面和图形来分析数据。后来Paul Reinheimer在此基础上开发了Xhgui,提供了更好的界面和功能,其主页在https://github.com/perftools/xhgui,其实步骤说的很详细,但是在CentOS7上安装并不容易,因为很多程序需要编译,在这里记录一下
安装
yum install mongodb-org
systemctl enable mongod
systemctl start mongod
16、mcrypt
cd ~/download
wget http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar xvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
cd ~/download
wget http://museum.php.net/php5/php-5.4.16.tar.gz
cd php-5.4.16/ext/mcrypt/
phpize
./configure
make
make install
vim /etc/php.ini
最后增加
extension=mcrypt.so
用php -m验证
17、Dom
cd ~/download/php-5.4.16/ext/dom/
yum install libxml2-devel
phpize
./configure
make
make install
vim /etc/php.ini
最后增加
extension=dom.so
用php -m验证
19、配置nginx,将xhgui放在88端口
vim /usr/local/nginx/conf/nginx.conf
增加
<?php
$n=5000;
$a = createArray($n);
$a = sortArray($a);
echoArray($a);
function createArray($n){
$a;
for($i=0;$i<$n;$i++){
$a[$i]=rand(0,$n);
}
return $a;
}
function echoArray($a){
for($i=0;$i<count($a);$i++){
echo $a[$i]." ";
}
}function sortArray($a){
for($i=0;$i<count($a);$i++){
for($j=$i+1;$j<count($a);$j++){
if($a[$i]<$a[$j]){
$tmp = $a[$i];
$a[$i]=$a[$j];
$a[$j]=$tmp;
}
}
}
return $a;}其实很简单,就是一个创建数组,进行排序的过程,可以在浏览器中运行http://172.16.9.145/test.php,理论上就可以在http://172.16.9.145:88看到结果了,但是,刷新88端口,一般是看不到结果的,这里是一个采样问题,xhgui是按照1%采样的,所以对于开发来说,需要100%采样,需要修改vim /data/xhgui/config/config.php'profiler.enable' => function() {//return rand(0,100) == 42return rand(0, 100) > 0 ;},黑体子是修改内容,这就是100%的采样,再运行http://172.16.9.145/test.php,就可以在http://172.16.9.145:88上看到结果了,可以看到采样的结果,包括程序的等待时间(wt)、cpu时间、内存等等信息,还可以通过view Graphy看到函数调用的过程,颜色越深,说明运行越慢,需要处理。23、其他
xhgui使用mongodb保存性能数据,数据库连接信息保存在xhgui/config/config.php中,这意味着可以将性能信息保存到远程机器,还可以将多台机器的性能数据放在一起,我们可以看一下性能数据的结构,如下mongo>use xhprof>db.results.find().limit(1).pretty();查看一下键meta的信息,如下"meta" : {"url" : "/test.php","SERVER" : {"USER" : "apache","HOME" : "/usr/share/httpd","FCGI_ROLE" : "RESPONDER","SCRIPT_FILENAME" : "/data/html/test.php","QUERY_STRING" : "","REQUEST_METHOD" : "GET","CONTENT_TYPE" : "","CONTENT_LENGTH" : "","SCRIPT_NAME" : "/test.php","REQUEST_URI" : "/test.php","DOCUMENT_URI" : "/test.php","DOCUMENT_ROOT" : "/data/html","SERVER_PROTOCOL" : "HTTP/1.1","REQUEST_SCHEME" : "http","GATEWAY_INTERFACE" : "CGI/1.1","SERVER_SOFTWARE" : "nginx/1.9.9","REMOTE_ADDR" : "172.16.9.255","REMOTE_PORT" : "62433","SERVER_ADDR" : "172.16.9.145","SERVER_PORT" : "80","SERVER_NAME" : "localhost","REDIRECT_STATUS" : "200","PHP_VALUE" : "auto_prepend_file=/data/xhgui/external/header.php","HTTP_HOST" : "172.16.9.145","HTTP_CONNECTION" : "keep-alive","HTTP_CACHE_CONTROL" : "max-age=0","HTTP_ACCEPT" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","HTTP_UPGRADE_INSECURE_REQUESTS" : "1","HTTP_USER_AGENT" : "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36","HTTP_ACCEPT_ENCODING" : "gzip, deflate, sdch","HTTP_ACCEPT_LANGUAGE" : "zh-CN,zh;q=0.8","HTTP_COOKIE" : "slim_session=1450653227%7CBxhI8%2BKm%2B47xsnTB%2BOZVAv9qjPHQYC1oCIcfWhIblGI%3D%7C3a5b1cf4f47a77302d253b577949544f4ffe627b","PHP_SELF" : "/test.php","REQUEST_TIME_FLOAT" : 1450652599.176433,"REQUEST_TIME" : NumberLong(1450652599)},可以通过SERVER_*, HTTP_*看到服务器信息,可以用来区分不同的主机,所以可以通过这些信息来过滤,可以支持多个主机
Centos7安装配置Xhgui的更多相关文章
- Centos7安装配置gitlab
Centos7安装配置gitlab 这篇文字我会介绍在Centos7上安装gitlab,配置gitlab的smtp,并且创建项目demo. sudo yum install openssh-serve ...
- Centos7安装配置Apache+PHP+Mysql+phpmyadmin
转载自: Centos7安装配置Apache+PHP+Mysql+phpmyadmin 一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl ...
- Centos7安装配置JDK8
Centos7安装配置JDK8 一.准备工作 第一步,去甲骨文官网下载Jdk相应的版本,我这里下载的是jdk1.8. 第二步将你从官网上下载下来的jdk使用FTP工具上传到云服务器上的相应目录,我的是 ...
- centos7命令行和图形界面的相互切换(附centos7安装配置教程)
一.最近安装了centos7,发现在命令行和图形界面的相互切换命令上,与centos以往版本有很大不同,先整理如下,加深记忆. 1,centos7默认安装后,跟其他版本一样,启动默认进入图形界面: 2 ...
- (转)Centos7安装配置NFS服务和挂载
Centos7安装配置NFS服务和挂载 原文:https://www.u22e.com/601.html NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支 ...
- CentOS7 安装配置笔记
CentOS7 安装配置笔记 1.通过镜像安装 CentOS7 ==============================* 使用 UltraISO 9.7 或者 rufus-3.5p 制作ISO的 ...
- Centos7安装配置jenkins(Tomcat)
Centos7安装配置jenkins(Tomcat) 一.准备工作 1.1 安装JDK1.8 具体安装过程不在赘述. 1.2 下载jenkins的war包 jenkins官网下载地址:https:// ...
- CentOS7 安装配置rsync
centos7自带rsync,今天简单记录下. rsync安装配置步骤 服务器端: 1.修改默认配置文件/etc/rsyncd.conf,该成如下: # /etc/rsyncd: configurat ...
- centos7安装配置zabbix4.0
zabbix01 198.8.8.211 zabbix-server4.0 zabbix02 198.8.8.212 zabbix-agent4.0 一:zabbix服务端环境 ...
随机推荐
- CocoaPods 安装及使用
1.开启 terminal 2.移除现有 Ruby 默认源 $ gem sources --remove https://rubygems.org/ 3.使用新的源 $ gem sources -a ...
- 多个Fragment的分开管理方案
当项目里有多个Fragment的时候 我们希望让Fragment有个分类 并且展示的时候不会混淆在一起 例如:项目中导航栏有三个按钮 每个按钮对应一种分类的布局,每个分类的布局中有多个Fragm ...
- 用Python写一款属于自己的 简易zip压缩软件 附完成图(适合初学者)
一.软件描述 用Python tkinter模块写一款属于自己的压缩软件.zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile来操作zip文件,具有功能:zip压缩功能,zip ...
- Foundation框架的小总结
一.Foundation框架—结构体 一.基本知识 Foundation框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数 ...
- 使用sklearn进行数据挖掘-房价预测(3)—绘制数据的分布
使用sklearn进行数据挖掘系列文章: 1.使用sklearn进行数据挖掘-房价预测(1) 2.使用sklearn进行数据挖掘-房价预测(2)-划分测试集 3.使用sklearn进行数据挖掘-房价预 ...
- [ 面试没回答上的问题2]IOS上给body绑定click事件的bug
面试被问到ios上的bug,自己提到绑定click事件的bug,但是并没有把问题讲的很清楚,这里再清理一下思路. 这个bug只在IOS上有,包括ihone,ipad,由于ios浏览器都用的safari ...
- Self Hosting WebServer 的几种方式
写在前面: IIS是Windows平台非常关键的组件,它是微软自带的Web服务器,可以很方便的帮助我们运行起一个网站,WebApi等服务,提供给外部来访问.即使它被很多java或者ruby的同学各种鄙 ...
- Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十一)redis密码设置、安全设置
警惕 前一篇文章<Spring+SpringMVC+MyBatis+easyUI整合进阶篇(九)Linux下安装redis及redis的常用命令和操作>主要是一个简单的介绍,针对redis ...
- numpy中关于*和dot的区别
1.numpy乘法运算中"*"是数组元素逐个计算 >>> import numpy as np >>> a = np.array([[2,3], ...
- caioj 1237: 【最近公共祖先】树上任意两点的距离 在线倍增ST
caioj 1237: [最近公共祖先]树上任意两点的距离 倍增ST 题目链接:http://caioj.cn/problem.php?id=1237 思路: 针对询问次数多的时候,采取倍增求取LCA ...