环境假设

  1. 峰值QPS为10000,所有的QPS都直接访问数据库
  2. 在无慢查询的场景下,平均查询耗时10ms
  3. 提供服务的实例一共10台

计算过程

承上述情况,单个数据库链接可提供的QPS为 1000 / 10 = 100
在理想负载均衡的情况下,每台服务实例分担的QPS为 10000 / 10 = 1000
则每台实例最多需要1000 / 100 = 10 个链接即可

业务高峰期问题

  • 若业务偶发性超出当前系统所承受的最大范围,且处理时效性要求高,则可以考虑直接拉起新实例,扩大服务与数据库通道,缓解请求压力
  • 以个人经验来说,一般单实例的链接数配置为16,即6台实例可大约提供10000QPS,若出现业务压力问题,应首先联系DBA或通过日志排查是否出现了慢查询
  • 如果是慢查询所致,即使增加实例也只是占用了更多的数据库链接,甚至可能影响到其他应用,需要结合实际情况,确定处理方案,不能盲目扩增实例,引发连锁反应

老污的猫
30 声望5 粉丝