我们为什么要进行性能测试?

2019-05-30  小魔仙 

性能测试在不同情况下是有着不同的目的,清楚每次性能测试的目标,能够让我们在开展性能测试的时候更有针对性


性能测试的目的

1.获取正常请求流量下,系统的各个性能指标:

这是最常见的性能测试目的,常规性能测试通常都有这个需求。在正常压力(无压力)流量下对系统进行性能测试,建立一个可度量的参考标准,为其他测试场景或者调优过程提供对比参考。

常用的性能测试指标包括:

服务响应相关的:平均响应时间,响应时间分布情况,失败率

资源使用相关:CPU使用,内存,磁盘IO,网络IO

 

2.获取系统能够承载的极限容量,以及获得系统的性能瓶颈

系统容量评估因为比较难自动化,所以通常这类需求频率会低一些,可能会周期性评估。通过“拐点法”进行性能测试,逐步增大系统的压力,直到性能指标不可接受或者出现了明显的拐点,从而找到系统的瓶颈点。需要注意的是,压测时的极限并发或者极限每秒处理请求数,一定是以在安全运维的性能标准下为前提。

 

3.测试系统稳定性:

系统稳定性压测是要知道在各种情况下系统能否稳定运行。造成系统不稳定的情况有:

极限的每秒请求数

极限的并发数或连接数

突发流量高峰

长时间的压力流量

热点数据请求

差网络环境

下游模块慢返回、超时或故障假死等

 

4.性能测试辅助系统参数调整:

需要配合研发,测试在不同系统参数或者部署方案下,系统性能情况的对比。

 

5.系统性能回归:

在版本升级时,通常需要对比新老版本的性能情况。

 

什么时候需要开展性能测试?

1.上线新模块/功能,且模块/功能对系统影正常运作影响大时,或者是重大功能的上线;

2.有线上促销活动的需求时:促销活动通常会导致系统流量翻好几十倍,通过性能测试可以得知系统是否足够支撑瞬间峰值流量,并为系统扩容提供依据;

3.线上服务需要扩容时;

4.性能调优后:评估性能调优的效果,进而决定是否还需要重新进行性能优化。

754°/7542 人阅读/0 条评论 发表评论

登录 后发表评论