全链路压测(9):容量评估和容量规划

简介: 容量评估我在之前的文章《性能测试从零开始实施指南——容量评估篇》中已做过详细介绍,这里不多做赘述。关于容量评估,参考下面两张思维导图,更容易理解。

前言


前面的文章介绍了链路梳理,三大模型,算是对整体业务和技术体系有了一定了解,这是由面到点的梳理。但系统最终的承载能力,还是取决于它的容量。这篇文章,我想为大家介绍下容量评估和容量规划的相关知识。


理解容量


如何定义容量?


容量即系统处于某种负载状态某项指标达到所能接受的最大阈值下对请求的最大处理能力


如何理解容量?


  • 容量是可度量的;
  • 系统容量(处理能力)是有限的;


如何规划容量?


  • 预期线上有X的流量下,希望系统在安全水位下具有Y的处理能力;
  • 假设线上出现某种情况导致Xmax,那希望系统的Y可以水平扩展以应对;


如何测试容量?


假设线上预期流量为X,所需容量为Y,容量测试的预期指标为Z,那么:Y=X/Z。


容量测试的几点注意事项:


  • 明确预期流量指标(线上峰值QPS为10W);
  • 明确可接受的时延和安全水位指标(CPU%≤40%,核心链路RT≤50ms);
  • 单机单服务的容量水位,建议通过混合场景来验证:
  • 订单服务有四个核心API;
  • 订单服务的服务器配置是4C8G;
  • 容量测试脚本要综合考虑4个API的流量配比和流量模型;
  • CPU%≤40%,核心链路RT≤50ms下,测试结果就是单机容量;


容量评估


容量评估我在之前的文章性能测试从零开始实施指南——容量评估篇》中已做过详细介绍,这里不多做赘述。关于容量评估,参考下面两张思维导图,更容易理解。


容量评估九步走流程图


640.png


容量评估职责内容划分


640.jpg


容量规划


容量规划的价值


互联网公司成本


  • 人力成本;
  • 硬件成本;
  • 运营成本;


容量规划的价值


  • 为性能优化提供参考;
  • 提高资源使用率, 降低成本;
  • 不断促进基础技术设施的建设和优化;


容量规划落地四步走


明确预期的指标和流量模型


  • 没有明确的预期指标就是耍流氓;
  • 流量模型很重要,类似漏斗的转化模型;


知道单点容量和扩容边际递减比率


  • 线下单机单接口单服务压测很有必要;
  • 理论上可以无限水平扩容,但节点越多,复杂度越高,性能提升比率越低;


不断评估线上流量增长趋势和流量模型


  • 借助监控体系不断优化流量模型;
  • 借助告警体系不断发现异常流量;
  • 借助性能基线不断优化性能瓶颈;
  • 借助流量巡检不断找到容量波动;


线下性能基线日常化和线上流量巡检日常化


640.png


测试如何做好容量规划

相关文章
|
10月前
|
监控 测试技术 数据库连接
RunnerGo API 性能测试实战:从问题到解决的全链路剖析
API性能测试是保障软件系统稳定性与用户体验的关键环节。本文详细探讨了使用RunnerGo全栈测试平台进行API性能测试的全流程,涵盖测试计划创建、场景设计、执行分析及优化改进。通过电商平台促销活动的实际案例,展示了如何设置测试目标、选择压测模式并分析结果。针对发现的性能瓶颈,提出了代码优化、数据库调优、服务器资源配置和缓存策略等解决方案。最终,系统性能显著提升,满足高并发需求。持续关注与优化API性能,对系统稳定运行至关重要。
|
测试技术 API 微服务
性能测试并发量评估新思考
性能测试并发量评估新思考
645 20
性能测试并发量评估新思考
|
负载均衡 NoSQL 关系型数据库
性能基础之全链路压测知识整理
【2月更文挑战第16天】性能基础之全链路压测知识整理
843 11
|
存储 大数据 测试技术
矢量数据库的性能测试与评估方法
【4月更文挑战第30天】本文探讨了矢量数据库的性能测试与评估方法,强调其在大数据和AI时代的重要性。文中介绍了负载测试、压力测试、容量测试、功能测试和稳定性测试五大评估方法,以及实施步骤,包括确定测试目标、设计用例、准备环境、执行测试和分析结果。这些方法有助于确保数据库的稳定性和高效性,推动技术发展。
|
存储 缓存 中间件
高可用之全链路压测
【2月更文挑战第30天】全链路压测是提升系统可用性的关键方法,它模拟真实流量和业务场景在生产环境中测试,确保性能、容量和稳定性。
|
监控 测试技术 UED
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.2 全链路压测与容量评估(1)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.2 全链路压测与容量评估(1)
595 0
|
域名解析 网络协议 数据可视化
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.2 全链路压测与容量评估(2)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.2 全链路压测与容量评估(2)
421 0
|
6月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1305 10
|
8月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1231 23
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
564 59