转载: https://www.cnblogs.com/finer/archive/2018/02/28/8482594.html
- 1 引言
- 1.1 编写目的
- 1.2 适用对象和范围
- 1.3 参考文档
- 2 业务指标监控
- 2.1 监控指标
- 2.2 监控工具
- 3 操作系统指标监控
- 3.1 Linux
- 3.2 Windows
- 4 应用中间件指标监控
- 4.1 Tomcat
- 4.2 JBoss
- 4.3 IIS监控
- 4.4 JVM
- 4.5 .NET CLR
- 5 数据库指标监控
- 5.1 MySQL
- 5.2 SQLServer
- 5.3 MonogoDB
- 5.4 Redis
- 6 前端指标监控
- 6.1 监控指标说明
- 6.2 监控工具
1 引言
1.1 编写目的
本文档主要目标是规范使用性能测试过程中需监控的各项技术指标,描述各指标项的具体含义,并给出相应的监控工具与方法说明。本文档将作为测试监控的指导性规范,用以选取监控关注指标,使用监控工具。
1.2 适用对象和范围
监控指标及监控工具适用于使用性能测试进行性能测试项目技术质量评价依据。 预期读者为测试管理人员、测试实施人员、技术支持人员、项目质量管理人员、项目管理人员等系统技术质量相关人员。
1.3 参考文档
相关的指标定义及解释可以参照:性能测试指标,本章可能会增加及减少相关指标的描述,并不与性能测试指标中相关指标冲突。
2 业务指标监控
2.1 监控指标
业务指标主要包括并发用户数、响应时间、处理能力,成功率这四个指标,目前大部分压测工具都能将这些指标放在压测工具里面。
2.2 监控工具
2.2.1 性能测试
性能测试分布式压测工具,将相关业务指标集成在平台上。
2.2.2 后台日志
通过后台日志log,采用分析工具也可进行分析得出TPS,响应时间等。
3 操作系统指标监控
3.1 Linux
3.1.1 监控指标说明
指标类型 | 指标名称 | 指标描述 |
---|---|---|
CPU | CPU utilization | CPU 的使用时间百分比 |
System mode CPU utilization | 在系统模式下使用 CPU 的时间百分比 | |
User mode CPU utilization | 在用户模式下使用 CPU 的时间百分比 | |
Memory | Page-in rate | 每秒钟读入到物理内存中的页数 |
Page-out rate | 每秒钟写入页面文件和从物理内存中删除的页数 | |
Paging rate | 每秒钟读入物理内存或写入页面文件的页数 | |
Disk | Disk rate | 磁盘传输速率 |
3.1.2 监控工具
3.1.2.1 性能测试
性能测试压测工具监控操作系统指标主要有:
CPU%:所有CPU资源利用率
网络流量:每秒入网出网多少Kb
磁盘:每秒读写多少Kb
3.1.2.2 命令
Linux提供丰富的命令进行监控,针对CPU、Memory、I/O等有一些列命令及参数进行监控。具体如下:
top : 整体查看资源情况。
sar :CPU资源消耗
vmstat:内存相关消耗
iostat: 磁盘相关消耗
………
具体用法和参数,可以参照联机帮助(man top等)。
3.1.2.3 Shell
可以将以上命令通过shell来包装,每隔多少秒监控一次,总共监控多少次,将监控结果写到文件里面。
例如:下面shell就是将CPU Load每隔3秒写到文件里面。
while true ; do uptime | awk -F' average: ' '{print $2}' ;sleep 3;done >> `hostname`_`date +%Y%m%d_%H%M`.uptime
3.1.2.4 nmon
-
Nmon安装 将 nmonXXX.tar.gz 文件复制到计算机。如果使用 FTP,请记住使用二进制模式。
解压该文件,运行 gzip -d nmonXXX.tar.gz
提取该文件,运行tar xvf nmonXXX.tar -
Nmon实时监控 登陆要监控的系统,进入nmon安装目录中
输入命令nmon,运行 nmon(如root用户可能需要输入./nmon).显示的起始屏幕及CPU等信息。如图:
依次按c,m,d即可显示CPU,内存,磁盘等信息。如图:
Nmon运行时的键盘命令
命令 | 说明 |
---|---|
c | 提供关于物理CPU使用的详细信息 |
m | 提供内存使用的详细信息:系统(内核)和进程,活动虚拟内存 |
d | 提供关于磁盘,磁盘类型大小,可用空间,卷组,适配器等更详细的信息 |
t | 当前进程详细情 |
P | Paging space 使用情况 |
k | 显示内核信息 |
+ | Nmon 结果保存为文件 |
- Nmon 结果保存为文件 nmon -f -s 60 -c 30(每60s收集一次数据,共收集30次) nmon.sh 赋执行权限:chmod +x nmon.sh 执行nmon.sh 即可运行.
3.2 Windows
3.2.1 监控指标说明
提供的监控指标比较丰富,包括CPU、内存、网络、磁盘以及每个进程的资源。
3.2.2 监控工具
3.2.2.1 性能测试
同3.1.2.1 性能测试
3.2.2.2 资源管理器
Windows操作系统自带的windows资源管理器,在任务栏里面点击右键,启动任务管理器:
点击性能面板,再点击资源监视器:
3.2.2.3 性能监视器
Windows有自带的性能监视器,可以指定相关的监控指标进行监控,将结果保存为文件,从windows控制面板->管理工具->性能监视器->新建数据搜集器,添加你感兴趣的指标计数器。
4 应用中间件指标监控
4.1 Tomcat
4.1.1 监控指标说明
Tomcat主要监控线程工作状态、请求数、 会话数、线程数、虚拟主机、JAVA虚拟机内存占用情况。
4.1.2 监控工具
4.1.2.1 Tomcat提供的manager
通过使用Applications Manager(又称opManager)来进行监控。
使用这种方式,所监控Tomcat必须运行manager应用,缺省情况下,该应用总是运行在服务器中的。
-
增加Manager Role: 访问manager应用的用户的角色权限必须是 manager. 修改<TOMCAT_HOME>/conf目录下的tomcat-users.xml文件,在<tomcat-users>节点下添加一个user节点,即可创建一个用户。Tomcat版本不同配置也有差异,5.x和6.x创建的用户角色应为manager,7.x创建的用户角色为manager-jmx,举例如下:
-
在5.x和6.x中创建一个manager角色的用户,用户名为admin,密码为chenfeng: <user username="admin" password="chenfeng" roles="manager"/>
-
在7.x中创建一个manager角色的用户,用户名为admin,密码为xxxxx: <user username="admin" password="chenfeng" roles="manager-jmx,manager-script,manager-status"/> 修改配置后,需要重新启动 Tomcat 服务器。连接manager时将用户名/密码指定为admin/xxxxxxxx
-
-
通过浏览器访问http://localhost:8080/manager/jmxproxy ,输入用户名密码,然后就可以看到返回了所有的监控信息
4.1.2.2 Probe
- 下载: http://www.lambdaprobe.org/downloads/1.7/probe.1.7b.zip
- 解压缩后,把probe.war放到TOMCAT的webapps下,设置server.xml 的context
- 设置用户如下,在tomcat_user.xml中
vi /usr/local/tomcat/conf//tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="standard"/> <role rolename="tomcat"/> <role rolename="admin"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="probe" password="probe" roles="admin,manager"/> <user username="role1" password="tomcat"roles="role1"/> </tomcat-users>
-
设置环境变量,获