性能测试

常见的性能测试:

负载测试
负载测试指的是最常见的验证一般性能需求而进行的性能测试,因此负载测试主要是考察软件系统在既定负载下的性能表现。
我们对负载测试可以有如下理解:
(1)负载测试是站在用户的角度去观察在一定条件下软件系统的性能表现。
(2)负载测试的预期结果是用户的性能需求得到满足。此指标一般体现为响应时间、交易容量、并发容量、资源使用率等。
 
压力测试
压力测试是为了考察系统在**条件下的表现,**条件可以是超负荷的交易量和并发用户数。注意,这个**条件并不一定是用户的性能需求,可能要远远高于用户的性能需求。可以这样理解,压力测试和负载测试不同的是,压力测试的预期结果就是系统出现问题,而我们要考察的是系统处理问题的方式。比如说,我们期待一个系统在面临压力的情况下能够保持稳定,处理速度可以变慢,但不能系统崩溃。因此,压力测试是能
让我们识别系统的弱点和在极限负载下程序将如何运行
负载测试关心的是用户规则和需求,压力测试关心的是软件系统本身
 
并发测试
验证系统的并发处理能力。一般是和服务器端建立大量的并发连接,通过客户端的响应时间和服务器端的性能监测情况来判断系统是否达到了既定的并发能力指标。负载测试往往就会使用并发来创造负载。
 
基准测试
当软件系统中增加一个新的模块的时候,需要做基准测试,以判断新模块对整个软件系统的性能影响。按照基准测试的方法,需要打开/关闭新模块至少各做一次测试。关闭模块之前的系统各个性能指标记下来作为基准(Benchmark),然后与打开模块状态下的系统性能指标作比较,以判断模块对系统性能的影响。
 
稳定性测试
测试系统在一定负载下运行长时间后是否会发生问题。软件系统的有些问题是不能一下子就暴露出来的,或者说是需要时间积累才能达到能够度量的程度。为什么会需要这样的测试呢?因为有些软件的问题只有在运行一天或一个星期甚至更长的时间才会暴露。这种问题一般是程序占用资源却不能及时释放而引起的。比如,内存泄漏问题就是经过一段时间积累才会慢慢变得显著,在运行初期却很难检测出来;还有客户端和服务器在负载运行一段时间后,建立了大量的连接通路,却不能有效地复用或及时释放。
 
可恢复测试
测试系统能否快速地从错误状态中恢复到正常状态。比如,在一个配有负载均衡的系统中,主机承受了压力无法正常工作后,备份机是否能够快速地接管负载。可恢复测试通常结合压力测试一起来做。
 
服务端性能分析都从哪些角度来进行:
从维度上划分,性能指标主要分为两大类,分别是业务性能指标和系统资源性能指标
 
业务性能指标可以直观地反映被测系统的实际性能状况,常用的指标项有:
1.并发用户数
2.事务吞吐率(TPS/RPS)
3.事务平均响应时间
4.事务成功率
 
系统资源性能指标,主要是反映整个系统环境的硬件资源使用情况,常用的指标包括:
1.服务器:CPU 利用率、处理器队列长度、内存利用率、内存交换页面数、磁盘 IO 状态、网卡带宽使用
情况等;
2.数据库:数据库连接数、数据库读写响应时长、数据库读写吞吐量等;
3.网络:网络吞吐量、网络带宽、网络缓冲池大小;
4.缓存(Redis):静态资源缓存命中率、动态数据缓存命中率、缓存吞吐量等;
5.测试设备(压力发生器):CPU 利用率、处理器队列长度、内存利用率、内存交换页面数、磁盘 IO 状
态、网卡带宽使用情况等。
 
 
性能测试(Performance Test):通常收集所有和测试有关的所有性能,被不同人在不同场合下进行使用。
压力测试 stress test:是在一定的『负荷条件』下,长时间连续运行系统给系统性能造成的影响。
负载测试 Load test:在一定的『工作负荷』下,给系统造成的负荷及系统响应的时间。 
 
 
 
 

posted on 2022-08-29 17:33  yanmay  阅读(446)  评论(0编辑  收藏  举报

导航