性能测试的主要目的包括评估当前系统的能力、寻找性能瓶颈并进行优化、确保系统满足未来的需求。性能测试可以通过自动化工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。1
性能测试可以分为以下几个部分:
- 基准测试:通过工具来模拟系统正常、异常、峰值场景对系统各项性能指标测试。这通常是在系统软硬件环境保持不变的情况下进行的。2
-
负载测试:通过逐步增加系统负载,确定在满足性能指标的情况下,找出系统所能承受最大负载量的测试。
-
压力测试:在强负载下测试,查看系统在峰值下是否功能隐患、系统是否具有良好的容错能力和可恢复的能力。
-
并发测试:在极短时间内,发送多个请求,来验证服务器对并发的处理能力。
性能测试的指标主要包括:
-
响应时间:指从客户端发起请求开始,到客户端接收到结果的总时间,包括服务器处理时间和网络传输时间。
-
并发用户数:某一时刻同时向服务器发送请求的用户数。
-
吞吐量:单位时间内处理客户端的请求数量,直接体现软件系统能能承载能力。
-
QPS:每秒查询数,即控制服务器每秒处理的指定请求数。3
- TPS:每秒事务数,即单位时间内服务器处理事务请求的数量。
性能测试的工具包括但不限于JMeter和LoadRunner。
性能测试的一些注意事项:
- 不要试图让人拿着钟表去测时间,应当编写一段程序用于计算时间以及相关数据。
- -应当测试软件在标准配置和最低配置下的性能。
- 为了排除干扰,应当关闭那些消耗内存、占用CPU的其它应用软件(如杀毒软件)。
- 不同的输入情况会得到不同的性能数据,应当分档记录。例如传输文件的容量从100K到1M可以分成若干等级.
- -由于环境的波动,同一种输入情况在不同的时间可能得到不同的性能数据,可以取其平均值.