由慢SQL引起的一次生产事故

故障解决经过

        公司圣诞活动几乎在活动开始的一瞬间服务器迅速宕机。其实用户量是在预料之内的,按理说承载这些用户应该没有问题。在宕机期间服务器连接池一直在报错,大概的意思是“HikariCP连接池超过30000毫秒连接失败”。当时就没分析明白,连接池配置一顿改,数据库配置一顿增,带宽也加了。然而并没什么卵用!

        最后终于有人查了慢SQL日志,发现有几个新功能的慢SQL执行时间最高达到了16秒。其实当时并没预料到几句慢SQL会有这么大影响,之后找程序员紧急优化了SQL。就这样一下救活了整台服务器,罪魁祸首就是慢SQL。

 

经验教训

        其实在运维阶段往往不会优先考虑程序问题,而且觉得程序已经测试过并且都好使了。但是有两点导致了慢SQL问题测试阶段容易遗漏。第一,功能测试阶段即使慢也不会宕机所以看不出来。第二,压力测试阶段一般会找比较典型的几个接口进行压测,往往不会所有接口都测,没测到的接口慢SQL就容易遗漏。

        所以程序员提高自身素质,对于SQL的优化和执行效率问题一定要重视起来。能完成工作的程序员和能完成工作的程序员区别就在此了。

 

转载于:https://my.oschina.net/u/3452433/blog/1609126

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值