![当 memcache 重新启动时,每 3 小时间隔最多 2 分钟从 nginx 日志中获取 499 状态](https://linux22.com/image/756157/%E5%BD%93%20memcache%20%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%E6%97%B6%EF%BC%8C%E6%AF%8F%203%20%E5%B0%8F%E6%97%B6%E9%97%B4%E9%9A%94%E6%9C%80%E5%A4%9A%202%20%E5%88%86%E9%92%9F%E4%BB%8E%20nginx%20%E6%97%A5%E5%BF%97%E4%B8%AD%E8%8E%B7%E5%8F%96%20499%20%E7%8A%B6%E6%80%81.png)
我有两个由另一个 haproxy 负载平衡器服务器提供服务的应用服务器。应用服务器与一个 memcache 服务器和一个 mysql 数据库服务器相连。我观察到,每隔 3 小时,超过 50% 的流量会在 2 分钟内获得 499 状态。我不明白为什么这个错误会在一段时间内发生。我还注意到,每隔 3 小时,memcache 服务器中就会运行一个“memcache restart”cron。所以,我猜这就是 499 错误背后的原因。
现在我的问题是,如果“memcache 服务重启”是 499 情况发生的原因,那么为什么会出现这种情况以及如何发生,因为我们知道如果 memcache 服务不可用,那么流量应该由数据库服务器提供服务?我们如何才能最大限度地减少错误?
如果 memcache 重启不是导致此 499 错误的原因,那么可能的原因是什么,我们该如何克服它?