性能测试_基础知识

一、性能测试基本概念

性能测试:指借助自动化的测试工具或代码,通过多线程的方式模拟高并发下的多种正常、峰值以及异常用户量负载情况,观察系统的各项性能指标和监控状况是否达标。

负载测试:检验系统在给定负载下的性能表现、资源利用情况、是否达到预期性能指标等,通常并不强调系统的瓶颈。通常需要测试现有负载和预期负载下的性能表现,并进行对比分析。

压力测试:对特定的软硬件环境不断施加“压力”,测试系统在压力情况下的性能表现,通过确定一个系统的瓶颈或者不能接受的性能点(系统崩溃点),来获得系统能提供的最大服务级别的测试。

容量测试:在已确定的环境下(软件环境、硬件设备、网络条件、基础数据等)、且满足一定条件(比如交易响应时间)的情况下,获取应用系统的最大处理能力。

稳定性测试:通过给系统加载一定的业务压力的情况下,让应用持续运行一段时间,测试系统在这种条件下是否能够稳定运行。一般让系统处于峰值压力下,进行8-10小时的测试。

大数据量测试:通常是针对某些系统存储、传输、统计、处理等业务进行大数据量的综合测试,如大数据平台调度处理,主要关注处理时间窗口是否满足要求。

失效恢复测试:针对有冗余备份和负载均衡的待测系统,检验如果系统发生局部故障,用户是否能够继续使用系统;以及如果这种情况发生,用户将受到多大程度的影响(如交易响应时间是否在可接受的范围内)。

配置对比测试:通过调整系统软/硬件配置,了解不同环境对系统性能的影响,找到系统各项资源的最优分配原则,一般用于性能调优和系统规划。

二、性能测试流程

三、性能测试指标

虚拟用户数VU:英文全称为Virtual user,也叫并发用户数。通过多线程来模拟不同用户对系统持续性访问造成的压力。

每秒事物数TPS:英文全称为Transactions per second,是衡量系统处理能力的重要指标,一个页面、一个接口、一个业务流都可以做为一个事物。

平均响应时间ART:英文全称为Average response time,响应时间是衡量系统处理快慢的重要参考指标,关系到用户的直观使用体验,一般统计的是页面、接口、交易或者一个完整流程的耗时。

成功率SR:英文全称为Success Rate,成功率是衡量系统稳定性的重要参考指标,一般要求在99%以上。

资源使用率:CPU、内存、磁盘IO、网络IO等,使用率一般不超过80%。

前置条件:基于什么业务场景、多少数据量、多少并发用户量情况下。

响应时间分析:

响应时间=网络延时+系统处理时间;ResponseTime=(N1+N2+N3+N4)+(A1+A2+A3);

响应时间“2-5-8原则”:

猜你喜欢

转载自blog.csdn.net/weixin_46285621/article/details/112919181