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

浙公网安备 33010602011771号