例如:1次核心操作,查了3次缓存、写了1次缓存、查了2次数据库、写了1次数据库、发了1次MQ消息、调了下游服务A的接口;
则对于读缓存放大倍数为3,写缓存放大倍数为1,读数据库放大倍数为2,写数据库放大倍数为1,MQ放大倍数为1,调用下游服务A的放大倍数为1 。针对写放大倍数,需要单独考虑主库是否扛得住放大倍数的qps 。
需关注:
- 读、写的放大倍数,要分开考虑,因为分布式架构通常是一主多从,一主需要支撑所有的写QPS,多从可以支撑所有的读QPS
- DB读放大倍数、DB写放大倍数
- Redis读放大倍数、Redis写放大倍数
- MQ放大倍数
- 接口调用放大倍数等
单实例QPS数量级(典型值)
水平扩展方式
集群总QPS估算
DB
几千
分库分表
实例个数*单实例QPS,其中实例个数的范围是1~分库个数(可达数百)
Redis
几万
Redis集群
实例个数*单实例QPS,其中实例个数的范围是1~分片个数(可达数百),总QPS可达百万级
MQ
几万
partition拆分,每个分片最多被1个服务并发消费
实例个数*单实例QPS,其中实例个数的范围是1~partition个数,总QPS可达百万级
HBase
几千?
region拆分
实例个数*单实例QPS,其中实例个数的范围是1~region个数
ES
几千?
shard拆分
实例个数*单实例QPS,其中实例个数的范围是1~shard个数
【架构师才需要知道的知识:如何做容量预估和调优】
推荐阅读
- 嵌入式程序架构--你了解多少?
- 我们需要一次怎样的数据架构变革?
- 春季呼吸道疾病高发 食疗预防这样吃才合理
- 注册会计师科目有哪些?
- 鳑鲏|崔秉亮和化绍新到底是师徒么?说不割粉丝韭菜的崔秉亮终于挥刀了
- 律师|668斤王浩楠转变风格,化身“律师”拍段子,网友:确实没流量了
- 古装剧|求求古装剧造型师们别再偷懒了,古风真不是披头散发扎个鬏啊
- 阿里资深软件测试工程师总结的这几点,让小白轻松搞懂性能调优
- 大厂御用设计师最爱的6个网站,终于被我总结全了!藏的够深
- 狗鞭怎样吃才壮阳呢