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

1、如何理解容量测试?

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

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

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

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

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

2、如何做容量测试?

1)测试思路

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

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

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

2)约束/停止条件

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

3)选择合适的容量指标

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

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

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

相关推荐
·云扬·3 小时前
【技术派后端篇】技术派并发访问性能优化
性能优化
bing_1583 小时前
Spring Boot 应用中如何避免常见的 SQL 性能陷阱 (例如:SELECT *, NOT IN, 隐式类型转换)?
spring boot·sql·性能优化
异常君6 小时前
MySQL 查询优化:JOIN 操作背后的性能代价与更优选择
后端·mysql·性能优化
running thunderbolt6 小时前
Linux:基础IO && 文件系统
linux·运维·性能优化
Gadus_21 小时前
Elasticsearch性能优化实践
大数据·elasticsearch·搜索引擎·性能优化
九酒21 小时前
性能优化:500w字符编码需要多少时间?
前端·性能优化
电子科技圈1 天前
XMOS空间音频——在任何设备上都能提供3D沉浸式空间音频且实现更安全地聆听
经验分享·设计模式·性能优化·计算机外设·音视频
NoneCoder1 天前
HTML与Web 性能优化:构建高速响应的现代网站
前端·性能优化·html
国际云,接待1 天前
[特殊字符]服务器性能优化:从硬件到AI的全栈调优指南
运维·服务器·人工智能·阿里云·性能优化·架构·云计算
forestsea1 天前
MySQL 调优
数据库·mysql·性能优化