Apache服务器性能监控
Apache服务器性能监控
1、使用自带mod_status模块监控
1)加载mod_status.so 模块
在httpd.conf中打开LoadModule status_module modules/mod_status.so
2)修改httpd.conf配置文件增加(删注释#)如下内容:
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from all
</Location>
ExtendedStatus On
<location /server-status>:server-status这个名字可以修改。
Deny from:表示禁止的访问地址;nothing 表示没有禁止访问的地址 。
Allow from:表示允许的地址访问;all 表示所有的地址都可以访问。
ExtendedStatus On:显示其他信息,包括子httpd进程的应答信息。
Order deny,allow:优先级顺序,deny---拒绝,allow--允许。
重启apache服务器后在浏览器中访问:http://serverip/server-status 或 http://serverip/server-status?refresh=N(刷新时间) 或 http://serverip/server-status/auto(简单的状态表格)

重要指标:
- Total Accesses:到目前为止apache接收的联机数量
- Total kBytes:接收的总的字节数
- Uptime:服务器运行的总时间(单位:s)
- CPULoad:当前由apache服务器消耗的CPU
- ReqPerSec:平均每秒请求数,也就是命中率HPS
- BytesPerSec:平均每秒发送的字节数
- BytesPerReq:平均每个请求发送的字节数
- BusyWorkers:提供服务的线程数,正在工作数
- IdleWorkers:空闲的线程数
2、使用自带mod_info模块监控
相对于mod_status模块提供的服务器状态信息,mod_info主要提供服务器的配置信息,并且不能动态更新
修改httpd.conf配置文件增加(删注释#)如下内容:
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from all
</Location>
重启apache服务器后在浏览器中访问:http://serverip/server-info,可以使用如下查询参数:
?config 显示apache配置文件
?<module-name> 显示模块相关信息
?list 显示所有使用中的模块列表
?server 显示基本的服务器信息
?hooks 显示每个模块所属的钩子列表
另外,mod_info模块还提供了AddModuleInfo指令来为server-info显示的模块增加额外的定制信息。
apache自带的mod_status和mod_info模块提供的监控功能比较弱,而且还可能会带来有安全方面的问题,所以一般建议取消这些模块功能,使用第三方工具来进行监控。
3、第三方工具监控
zabbix:基于PHP脚本的分布式系统监控以及网络监视功能的企业级解决方案,也能监控apache服务器。
Nagios:监视系统运行状态和网络信息的监视系统,和zabbix一样也提供基于Web的管理页面
4、LR监控apache服务器
开启mod_status模块功能,在LR的controller中找到apache资源图双击并右键添加度量,如下图:

添加apache服务器IP地址、选择系统平台、添加需要监控的计数器即可进行监控了。

可能或存在Apache版本提供的计数器与LR默认计数器不一致的问题,就需要通过修改LR安装目录下\dat\monitors下的apache.cfg配置文件来解决。
5、利用apachetop工具监控apache日志
apachetop以类似top命令的方式实时显示apache的访问日志的统计信息,安装apachetop工具后,运行如下命令即可:
apachetop -f /usr/local/apache2/logs/access_log (apache日志文件目录)
6、其他实用监控命令
1)用ps来看httpd进程数
ps aux | grep httpd | wc -l
2)用netstat来看当前的连接数
netstat -ant | grep ":80" | wc -l
3) 实时检测httpd连接数
watch -n 1 -d "pgrep httpd | wc -l"
4)计算httpd进程占用内存的平均数
ps aux|grep -v grep|awk ‘/httpd/{sum+=$6}; END{print sum/n}’
5)查看Apache的并发请求数及期TCP连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057• 其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数.
状态:描述
• CLOSED:无连接是活动的
• LISTEN:服务器在等待进入呼叫
• SYN_RECV:一个连接请求已经到达,等待确认
• SYN_SENT:应用已经开始,打开一个连接
• ESTABLISHED:正常数据传输状态
• FIN_WAIT1:应用说它已经完成
• FIN_WAIT2:另一边已同意释放
• ITMED_WAIT:等待所有分组死掉
• CLOSING:两边同时尝试关闭
• TIME_WAIT:另一边已初始化一个释放
• LAST_ACK:等待所有分组死掉
Apache服务器性能监控的更多相关文章
- Zynga 开源其服务器性能监控分析工具 zPerfmon
流年不利的社交游戏服务商Zynga近日在官方博客宣布开源zPerfmon——该工具负责监控Zynga数以千计的社交游戏服务器.zPerfmon的源代码目前已经上传至Github. 包括Facebook ...
- Web服务器性能监控分析与优化
Web服务器性能监控分析与优化 http://www.docin.com/p-759040698.html
- linux 服务器性能监控(一)
这篇文章主要介绍一些常用的linux服务器性能监控命令,包括命令的常用参数.指标的含义以及一些交互操作. 几个问题 命令本身并不复杂,关键是你对操作系统基础知识的掌握和理解,先来看看下面几个问题: C ...
- jmeter使用笔记——脚本录制,JMeter使用plugins插件进行服务器性能监控
脚本录制: 1.badboy录制 2.代理服务器录制 ①工作台添加HTTP代理服务器 ②设置目标控制器,分组,排除模式,包含模式(使用正则表达式筛选) ③设置浏览器,手动设置代理服务器,localho ...
- JMeter使用plugins插件进行服务器性能监控
JMeter使用plugins插件进行服务器性能监控 性能测试时,我们的关注点有两部分 1 服务本身:并发响应时间 QPS 2 服务器的资源使用情况:cpu memory I/O disk等 JMet ...
- 性能测试学习之路 (三)jmeter常见性能指标(相关术语、聚合报告 && 服务器性能监控配置 && 图形结果 && 概要报告)
1 性能测试目的 性能测试的目的:验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以优化软件. 最后起到优化系统的目的性能测试包括如下几个方面: 1.评估系统的能力:测试 ...
- Jmeter工具使用-分布式架构和服务器性能监控解决方案
在对项目做大并发性能测试时,常会碰到并发数比较大(比如需要支持10000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能来搭建分布式并发环境. 一.J ...
- Apache服务器性能如何优化
配置网站,要充分的把系统资源利用出去,榨干系统的一切潜能,让网站速度发挥到极致.Apache,是用户浏览和网站数据的一个中间桥梁.但是在这里,我们虽然做得并不是很多,但是如果心细打理,有些设置也会起到 ...
- 服务器性能监控神器nmon使用介绍
介绍 Nmon (Nigel's Monitor)是由IBM 提供.免费监控 AIX 系统与 Linux 系统资源的工具.该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用 exc ...
随机推荐
- python Function
Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2 Type "copyright&q ...
- WORDPRESS点击标题或图片无法链接到文章页面
在设置出更改固定连接设置
- jsp 入门 cookie session
Java Server Page ==> 服务器端的动态页面资源.用来做显示的功能. JSP构成 ==> HTML 脚本代码 标签构成. JSP 原理 ==> 实际上就是 servl ...
- .NET LINQ 联接运算
联接运算 将两个数据源“联接”就是将一个数据源中的对象与另一个数据源中共享某个通用特性的对象关联起来. 当查询所面向的数据源相互之间具有无法直接领会的关系时,联接就成为一项重要的运 ...
- myeclipse如何设置字体?
1.首先,将你的Myeclipse打开. 找到上面的菜单“windows”打开“Preferences” 2.然后,在弹出的设置窗口中找到“colors and fonts” 3.将右边的basic打 ...
- web前端学习部落22群开源分享 左边菜单导航
有大量web前端开发工具及学习资料,可以搜群[ web前端学习部落22群 ]进行下载,遇到学习问题也可以问群内专家以及课程老师哟 <!DOCTYPE html> <html lang ...
- win7远程桌面连接总是显示凭证不工作解决方法总结
使用远程桌面连接可以在网络的另一端控制某台计算机,对计算机进行实时操作,但有时会出现连接失败的情况,比如总是显示您的凭证不工作,下面是我对此问题解决办法的总结. 方法一: 1.在开始菜单内的运行框里输 ...
- 与你相遇好幸运,mocha接口测试
var rest = require('restler');var assert = require("assert");var systemID;var userID; cons ...
- InnoDB VS MyISAM
首先都是MySql存储引擎.数据库的考虑点一般就是事务(ACID),然后牵扯出的锁机制.如果你需要事务,那就只能选InnoDB了.如果你还需要外键约束,你也只能选择InnoDB.这个是两者最大的区别. ...
- 【leetcode】Two Sum
题目简述: Given an array of integers, find two numbers such that they add up to a specific target number ...