大流量下系统重启失败总结

产生原因

在线修改RDS bookdb.cosplayindex 表结构,因为表数据过大,导致RDS负载过高,应用层全部挂掉。

操作流程

第一次操作:
重启所有web-book/web-function , 结果: 无法成功重启

第二次操作:
关闭SLB,重启web-book/web-function,再打开SLB. 结果: web-book成功,web-function重复失败. 查看日志, service-common 服务调用超时

第三次操作:
关闭SLB,重启 web-function , 重启 service-common ,扩容 service-common,从4个扩容到10个,service-common超时时间从1秒修改为10秒. 结果失败,同第二次操作.

第四次操作:
将SLB带宽从500M下降到50M,作为限流工具,只接受10%的流量,重启web-function,再将SLB从50M->70M->100M->500M , 结果,成功!!!

总结

  1. 超过500万数据的RDS,不允许在线修改表结构,修改请使用第三方工具 PerconaTookit , 且必须在系统访问最低谷时间修改(凌晨4点左右)
  2. 在访问高峰区间,web服务重启很容易被瞬间流量打死,所以系统限流势在必行
  3. SLB可以充当临时性的限流工具,以设置带宽流量为基础做限流

猜你喜欢

转载自blog.csdn.net/qq_45455361/article/details/122977928