当你遇到并发请求大量涌入的情况时,你可能会考虑增加服务器数量来应对。但你会疑惑,为什么原先 nginx 承受不住的并发,通过增加服务器后就能承受,甚至还能进行负载均衡?
要理解这种情况,我们需要考虑以下几点:
- nginx 的特性:nginx 是一种专门用于负载均衡和反向代理的软件。它以其处理速度极快而著称,一般不太可能成为并发请求时的性能瓶颈。
- 真实服务的处理能力:在只有原先 nginx 部署在 A 机器上时,真实服务是唯一处理请求的组件。因此,真实服务的处理能力是影响并发的主要因素。通过部署多个真实服务,你可以提高并发处理能力。
- time_wait 连接复用:当服务器关闭时,其建立的连接会进入 time_wait 状态。通过更改内核参数,可以加快 time_wait 连接的回收和复用速度,从而提高服务器的处理能力。
- 合理规划架构:虽然增加服务器可以提高并发处理能力,但并不是无限添加服务器就能解决所有问题。当服务器数量达到一定程度后,数据库等其他组件可能会成为新的瓶颈。因此,需要合理规划架构,根据实际情况选择合适的解决方案。