近日使用aws的elasticache出现了异常的切换。而且这种切换的频率非常高,导致每次切换的时候我们的服务都会出现一些波动。
Recovering cache nodes 0001 - -
Failover to replica node aws-xxxx-0003-001 completed - -
Test Failover API called for node group 0003
Snapshot failed for snapshot with ID ‘automatic.aws-xxxx-2024-03-25-20-00’ of replication group with ID ‘aws-xxxx’
但是我们的服务请求一直是比较平缓的,不可能出现那么多的问题。 于是就给aws提交工单,可提交过去居然6天都没有任何回音,工单里问一下就说还在排查中,于是只能请求aws内部人员催一下。
然后跟aws的支持人员进行在线会议沟通,在会议中aws认为就是我们使用的swap太多导致的切换,老实说用了那么多年的云厂商的redis,swap这个指标在其他云厂商里是没有见过的,本来aws的redis买的时候就只能使用75%,你不会拿swap来当内存来忽悠客户吧。
会议中又来一个据说高级支持人员,上来就说这就是我们使用不当导致的,为什么就你们使用产生那么多swap,就为什么你们使用产生那么多连接。真是好大的官威啊。我说那你们就dump一下swap内容来出来看看到底是什么呀,人回答说这个可导不出来,我说我们授权你们导出总可以吧,然后就一堆巴拉巴拉说各种不行。
最后终极说法就是为什么就你们出现问题,别的客户没有问题。这可不就是你们的问题吗?你们的redis客户端都传了什么东西导致我们的redis使用大量swap。