简述性能测试的步骤。
熟悉应用
了解应用的架构、功能逻辑
测试需求
1、需要将开发给定的需求转为吞吐量和响应时间。
2、根据测试目的,细化需求
测试准备
测试准备包括测试客户端机器准备、测试数据准备、测试脚本准备。
测试执行
测试的执行中,需要监控测试客户端和服务器性能,监控服务器端应用情况:
客户端的系统资源(cpu、io、memory)情况
服务端的系统资源(cpu、io、memory)情况
服务器的jvm运行情况
服务端的应用情况,看是否有异常
响应时间、吞吐量等指标
系统资源监控,linux下可以采用的工具有:vmstat、top、meminfo等。
JVM的监控,可以用jprofiler工具,linux下面的jmap、jhat等。
响应时间、吞吐量等,由grinder提供。
上述这些信息,一般在测试结束后,均需要归档整理,已备后续详细分析
我们自己开发一套脚本,用于以固定的频率获取测试客户端和服务器的vmstat和top输出、grinder的log,并从中截取有用信息保存,用于事后分析。
每次测试运行完以后,肯定会增加很多数据,需要考虑本次执行对数据量的影响,如果数据量的变化对后续测试会有影响,则需要清理数据。
测试分析
6、你如何识别性能瓶颈?
RBI方法
重点测试“吞吐量”指标,因为RBI认定80%的系统性能瓶颈由吞吐量造成。
按照网络、硬件、数据库、应用服务器、代码的顺序自上而下分析性能
工具:IBM、HP、OpenSource工具都支持。需使用分析模块、根据Weblogic、Oracle区别有专门的工具实现RBI。
网友评论