环境假设
- 峰值QPS为10000,所有的QPS都直接访问数据库
- 在无慢查询的场景下,平均查询耗时10ms
- 提供服务的实例一共10台
计算过程
承上述情况,单个数据库链接可提供的QPS为 1000 / 10 = 100
在理想负载均衡的情况下,每台服务实例分担的QPS为 10000 / 10 = 1000
则每台实例最多需要1000 / 100 = 10 个链接即可
业务高峰期问题
- 若业务偶发性超出当前系统所承受的最大范围,且处理时效性要求高,则可以考虑直接拉起新实例,扩大服务与数据库通道,缓解请求压力
- 以个人经验来说,一般单实例的链接数配置为16,即6台实例可大约提供10000QPS,若出现业务压力问题,应首先联系DBA或通过日志排查是否出现了慢查询
- 如果是慢查询所致,即使增加实例也只是占用了更多的数据库链接,甚至可能影响到其他应用,需要结合实际情况,确定处理方案,不能盲目扩增实例,引发连锁反应
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。