如何理解容量测试?如何做容量测试?

1、如何理解容量测试?

容量测试,是性能测试里的一部分,它的目的是测量系统的最大容量,为系统扩容、性能优化提供参考,节省成本投入,提高资源利用率。就是运用各种方法和工具在这种复杂的情况下去不断验证容量结果,最终保障线上软件系统容量可以支撑业务正常运行的过程。

这是一个持续验证的过程,相比于传统的性能测试压几个接口,得到结果,优化验证完发布上线而言。容量测试更提倡持续验证,做到对各环节的容量永不信任,持续验证,最终达到持续的保障线上系统稳定性。

当然,容量测试和传统性能测试类似的点也有很多,同样需要需求分析,场景设计,数据准备,实施压测以及性能优化。

可以理解为,容量测试和传统性能测试并没有本质上的区别,都是为了让软件系统满足业务需要,支撑业务目标更好的达成。只是容量测试所提倡的方法和理念,更适用于当前我们所面临的环境和挑战。

了解容量测试,然后忘掉各种高大上的新概念,做到持续验证持续保障即可。

2、如何做容量测试?

1)测试思路

① 根据具体的业务情况和系统架构,通过配置测试的手段,测量得到单个服务节点在对应的业务场景下最大的性能表现。

② 根据系统架构(集群、分布式、微服务)特点,通过启用≥2的服务节点,来得到服务节点的增加后系统性能的提升比例。

③ 通过线上采集的系统数据,分析出过去某段时间(或某个业务)的高峰流量,然后通过计算,得到容量扩容,需要投入的实际服务数量。

2)约束/停止条件

在测试过程中,只要限定的某项指标达到最大可接受阈值或某项资源达到最大使用状态,即刻停止测试。

3)选择合适的容量指标

考虑到业务需求和系统架构的不同,在选取容量指标时一般遵循如下原则:

数据密集型:即并发请求量较大的类型,一般TPS和RT(响应时间)是比较关注的指标。

数据存储型:即需要存储读写的数据量较大的类型,一般吞吐量和IO是比较关注的指标。

相关推荐
wallflower20202 小时前
Web Workers:前端多线程解决方案
性能优化·html
努力的小郑2 小时前
MySQL索引(三):字符串索引优化之前缀索引
后端·mysql·性能优化
摘星编程4 小时前
ChatGPT 协作排查:Node.js 内存泄漏的定位与修复
chatgpt·性能优化·node.js·ai辅助调试·chatgpt协作
三雒5 小时前
ART堆内存系列二:从堆中排除大对象
android·性能优化
没有bug.的程序员6 小时前
Redis 内存管理机制:深度解析与性能优化实践
java·数据库·redis·性能优化·内存管理机制
apocelipes6 小时前
C++20新增属性[[no_unique_address]]详解
c++·性能优化
DemonAvenger6 小时前
数据库迁移实战:最小化停机时间的方法与经验分享
数据库·sql·性能优化
NanXi_XZ18 小时前
磁盘性能测试工具FIO-使用教程
性能测试
Lei活在当下18 小时前
【业务场景架构实战】1. 多模块 Hilt 使用原则和环境搭建
性能优化·架构·客户端
EndingCoder1 天前
Electron 性能优化:内存管理和渲染效率
javascript·性能优化·electron·前端框架