资源监控在性能测试中起着至关重要的作用。通过对监控指标项的分析,可以发现系统的瓶颈,为系统的优化提供依据。
在性能测试开始执行之后,需要实时观察性能测试的各个指标(CPU、Memory、I/O)是否正常,包括应用服务器、数据库服务器、中间件等。在执行过程中,需要实时监控虚拟用户执行情况、场景状态、事务响应时间、服务器资源使用、压力测试机的资源使用(CPU、Memory、网络状况),一旦发现异常情况,及时修正,保证性能测试的顺利进行。在执行结束后,要监控资源释放是否正常合理。
性能测试的监控指标主要由以下几个部分组成:
(1)应用服务器资源(Unix、Linux、Windows2003、WindowsXP等)
主要考察CPU、Memory(Paging rate)、磁盘I/O、Disk等指标
(2)数据库服务器资源(Oracle、MySQL等)
除监控CPU、Memory、Disk等资源外,还需考察单条SQL性能、数据库线程数、数据池连接数等指标
(3)中间件(Apache、Jboss等)
主要考察线程数、连接数、日志输出等指标
(4)工具监控指标
用户可以设计脚本,通过专业的测试工具(LoadRunner等)监控并记录用户执行情况、场景状态、事务响应时间、TPS、网络情况、CPU分析图表等指标。
(5)测试压力机资源
主要包括CPU、Memory、网络、负载生成器评估等,可以使用本机任务管理器等工具辅助监控本机资源。
(6)网络情况
主要考察防火墙、网卡、网线、网络带宽(吞吐量、吞吐率)等指标。
我们建议在性能测试中创建监控点列表,明确监控目标。监控的同时要采集信息以便后期深入分析。采用可信度较高的监控工具进行监控。