架构师必备:如何做容量预估和调优

本文介绍了架构师在构建高并发、高可用系统时的容量预估和调优方法,包括QPS保障目标设定、服务和存储资源的关注点。强调了QPS与工作线程数的关系、CPU使用率、网络带宽的影响,以及超时时间、异步调用、降级和限流策略的重要性。同时,详细讨论了存储资源的放大倍数和QPS估算,以确保所有环节都能承受预期负载。
摘要由CSDN通过智能技术生成

为了构建高并发、高可用的系统架构,压测、容量预估必不可少,在发现系统瓶颈后,需要有针对性地扩容、优化。结合楼主的经验和知识,本文做一个简单的总结,欢迎探讨。

1、QPS保障目标

一开始就要明确定义QPS保障目标,以此来推算所需的服务、存储资源。可根据历史同期QPS,或者平时峰值的2到3倍估算。

压测目标示例:

  • qps达到多少时,服务的负载正常,如平均响应时间、95分位响应时间、cpu使用率、内存使用率、消费延迟低于多少
  • 不要让任何一个环节成为瓶颈,需考虑服务实例、数据库、Redis、ES、Hbase等资源

2、服务注意点

2.1、服务qps上限

服务qps上限 = 工作线程数 * 1/平均单次请求处理耗时

主要关注以下几点:

(1)工作线程数,对qps起到了直接影响。

dubbo工作线程数配置举例:
<dubbo:protocol name="dubbo" threadpool="fixed" threads="1000" />

(2)cpu使用率:跟服务是I/O密集型,还是计算密集型有关。

  • I/O密集型:调用多个下游服务,本身逻辑较简单,cpu使用率不会很高,因此服务实例的个数不用很多
  • 计算密集型:本身逻辑很复杂࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值