性能测试的思想
几个主要的术语
1、响应时间:
服务端响应时间,
应用系统从请求发出开始到客户端接收到最后一个字节数据所消耗的时间,
忽略Web前端渲染时间。
2、并发用户数:
有多少用户会在同一时间段内访问系统,
并发用户数取决于具体的业务场景,
在确定并发用户数之前,
必须先对用户的业务进行分解,
分析出其中典型的业务场景,
也就是用户最常使用、最关注的业务操作。
3、吞吐量:
单位时间内系统处理的客户请求的数量,
主要以请求数(单击数)/秒、页面数/秒或字节数/秒来体现。
4、性能计数器:
是描述服务器或操作系统性能的一些数据指标,
如内存数、进程时间,
单一的性能计数器只能体现系统性能的某一个方面,
对性能测试结果的分析必须基于多个不同的计数器。
5、思考时间:
该时间指的是用户在操作时,
每个请求之间的间隔时间。
性能测试的方法
1、验收性能测试:
通过模拟生产运行的业务压力量和使用场景组合,
测试系统的性能是否满足生产性能要求,
这种测试方法就是要在特定的运行条件下验证系统的能力状态。
2、负载测试:
在被测系统上不断增加压力,
直到性能指标(如响应时间)超过预定指标或者某种资源使用已经达到饱和状态。
3、压力测试:
测试系统在一定饱和状态下,
例如CPU、内存等在饱和使用情况下,
系统能够处理的会话能力,
以及系统是否出现错误。
4、配置测试:
通过对被测系统硬件环境的调整,
了解各种不同环境对系统性能影响的程度,
从而找到系统各项资源的最优分配原则。
5、并发测试:
通过模拟用户的并发访问,
测试多用户并发访问同一个应用、同一个模块或者数据记录时,
是否存在死锁或者其他性能问题。
6、可靠性测试:
通过给系统加载一定的业务压力(例如资源在70~90%的使用率),
让应用持续运行一段时间,
测试系统在这种条件下能否稳定运行。
7、失效恢复测试:
针对有冗余备份和负载均衡的系统设计的,
用来检验如果系统局部发生故障,
用户是否能够继续使用系统,
以及用户将受到多大程度的影响。