【原创】在性能测试过程中,需监控什么?如何监控?

  标题这个问题——在性能测试过程中,需监控什么?如何监控?可能大家在做性能测试前,都会想到或被客户、项目经理问到,如何解答,如何具体落实呢?这里介绍些自己实践的方法,不一定完全适合您,但仅供参考。

  一般做性能测试的被测程序都基于web方式访问,所以监控对象就以这个web为核心,然后再向后延伸、分析和展开,细说如下:

  1.第一层:呈现这个web网站内容的web浏览器,需要监控。可以监控其进程所占内存大小、cpu利用率,及变化情况;

  2.第二层:提供浏览器访问数据的通信通道,客户端网络、服务端网络、网络链路中所涉及的网络设备(如交换机、防火墙),重点关注队列长度、传输状态;

  3.第三层:提供web服务的应用服务器或HTTP服务器,监控它们的线程数、请求会话数、队列长度、队列等待时间,以及这个web应用服务器所在物理服务器的CPU、内存、网络、磁盘IO等信息;

  4.第四层:提供WEB所展现数据的数据库服务器,监控它的缓存命中率、磁盘IO、会话数、会话创建时间、SQL执行时间、操作进程数等,以及这个数据库服务器所在物理服务器的CPU、内存、网络、磁盘IO等信息;;

  一般监控都分布在这四层之内,我们无非遇到的难题是,这四层监控中有各种不同的类型,如WEB服务器有Tomcat、Jboss、Weblogic、Websphere等,HTTP服务器有IIS、Apache、Nginx等,数据库有Oracle、DB2、Sybase、MySQL、SQLServer等,操作系统有IBM-AIX、HP-UX、SUN-solaris、Redhat-Linux、Suse-Linux、Windows等。其实这些是类别,但方法类似,指标也类似,我归类和分析形成表格,如下供参考:

序号 监控类别 监控对象 监控方法 监控指标 备注
1 WEB服务器 Tomcat JMX    
2 Jboss JMX    
3 WebSphere JMX    
4 Weblogic JMX    
5 IIS Perfmon/SNMP    
6 HTTP服务器 Nginx nginxstatus    
7 Apache status    
8 数据库 Oracle Spotlight    
9 DB2 Spotlight    
10 Sybase Spotlight    
11 MySQL Spotlight    
12 SQLServer Spotlight    
13 操作系统 IBM-AIX Spotlight/Nmon/SNMP    
14 HP-UX Spotlight/Nmon/SNMP    
15 SUN-solaris Spotlight/Nmon/SNMP    
16 Redhat-Linux Spotlight/Nmon/SNMP    
17 Suse-Linux Spotlight/Nmon/SNMP    
18 Windows Perfmon/SNMP    
posted @ 2012-11-06 13:45  田超  阅读(906)  评论(0)    收藏  举报