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服务端环境 ...
随机推荐
- Thrift全面介绍
官网:http://thrift.apache.org 简介 Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java ...
- Spring的69个知识点
目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spri ...
- python调用c代码
Linux环境下使用python调用C的printf例子: #!/usr/bin/env python2.7 #-*- coding:utf-8 -*- from ctypes import * de ...
- github设置
ssh-key: https://help.github.com/articles/generating-ssh-keys http://segmentfault.com/q/101000000013 ...
- Oracle单行函数基础运用
单行函数 整个SQL的精髓:select语句+单行函数(背) 字符串函数 常用的处理字符串的函数有如下: No. 函数名 含义 1 UPPER(c1) upper 将字符串全部转为大写 2 LOWE ...
- JavaScript 系统知识点图库
JavaScript 是世界上最流行的,轻量级的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备: JavaScript 被数百万计的网 ...
- 用JAVA中BufferedImage画出漂亮的验证码点击变化
如果我们想用JAVA中BufferedImage画出漂亮的验证码点击变化怎么实现呢,类似这样: 点击变化,以下是实现过程,直接上代码: 首先前台:<i><img style=&quo ...
- [ 面试没回答上的问题2]IOS上给body绑定click事件的bug
面试被问到ios上的bug,自己提到绑定click事件的bug,但是并没有把问题讲的很清楚,这里再清理一下思路. 这个bug只在IOS上有,包括ihone,ipad,由于ios浏览器都用的safari ...
- vue2.0与实战开发
慕课网实战 百度云 web前端实战: Node.js入门到企业Web开发中的应用 Web前端性能优化 让你的页面飞起来 前端跳槽面试必备技巧 前端JavaScript面试技巧全套 node.JS 线上 ...
- struct 类型指针技巧
此类型对于两种结构的查找和删除都十分方便,实际项目中也常常用到.