美文网首页其他
一次线上事故

一次线上事故

作者: 小鱼嘻嘻 | 来源:发表于2016-12-23 16:51 被阅读30次

最近做了一个许愿活动,由于入口是在支付宝,主要针对大学生,没想到活动效果特别好,每天有将近100w pv,加上运营做了推广,在同一个时间点推了10w短信,瞬间高并发,数据库连接达到2000。加上我写的一个SQL三张表做了关联,关联字段没有索引,产生了慢查询,导致数据库连接池的资源被沾满,数据库被拖垮。服务不可用。

事故主要是因为的SQL引起的,我做了一些总结和反思:

1 对数据库的索引一直没有引起重视认为可有可无

2 对连表查询没有想过风险,没有做过执行计划分析

3 没有做相关压测,也没有考虑性能和压力问题

4 没有合理使用缓存,没有对缓存做很好的测试

5 过于乐观,盲目的乐观,代码质量不高,代码健壮性不够

6 自测不够全面,过于依赖测试,认为流程跑通就可以,没有覆盖到所有测试点,对缓存的测试不够全面

7 不够仔细,不够细心不是一个程序员应该有的毛病

反思:

1 加强数据库这边知识学习,每次创建表的时候必须考虑索引,每次需要做连接的时候必须做SQL分析,考虑连接是否走索引。

2  每一个接口,每一个功能都要考虑到并发问题,对高并发有相应的处理措施。

3 规范的打印日志,需要有入参和出参,关键点日志情况,以及Linux查询线上日志,学习Linux命令。快速定位线上问题。

4 对缓存的使用需要特别的谨慎,在自己测试的时候需要,第一次无缓存的裸奔测试,加上缓存的测试,加上缓存和缓存过期的测试。

5  认真仔细,细心,不盲目乐观。

对于一个工作两年多的程序员了,我觉得这些错误真的是不应该犯得低级错误,我觉得这次的错误对我的信心是极大的打击,我以前觉得自己技术很不错,现在看来我还是很初级的水平,我那些自信都是盲目的,希望这次教训会让我深深的记住。

接下来我需要加强,MySQL这块的学习(特别重要),Linux的学习(特别重要),redis,memcache的学习(特别重要)。

相关文章

  • 一次线上事故

    最近做了一个许愿活动,由于入口是在支付宝,主要针对大学生,没想到活动效果特别好,每天有将近100w pv,加上运营...

  • 记一次线上事故

    今天服务忽然炸了,log没有记录,服务一直重启导致数据库压力暴增。

  • 喜提一次线上事故

    起因: 在一个异常平凡的上午,我又一次打开商业后台,想找到我所负责的项目。 因为之前商业后台给我开的权限比较大,是...

  • 记一次线上'事故'处理

    记一次线上'事故'处理 今早十点左右(2019年12月23日 10:00), 项目运营反馈新版 App 有闪退问题...

  • Spring+SpringMVC+MyBatis+easyUI整

    前文提要 承接前文《一次线上Mysql数据库崩溃事故的记录》,在文章中讲到了一次线上数据库崩溃的事件记录,建议两篇...

  • 翻车现场:一次JVM FullGC引发的宕机事故

    这篇文章给大家聊一次线上生产系统事故的解决经历,其背后代表的是线上生产系统的 JVM FullGC 可能引发的严重...

  • tomcat cpu暴涨100% 解析

    背景:线上项目 框架Springboot ,mybatis ,dubbo 事故:cpu 暴涨100% 线上服务运行...

  • 一波三折的一天

    今天的一次线上事故产生了一些反思,在此记录一下。 事情是这样的,今天线上服务突然 redis 挂了,然后服务各种报...

  • 如何避免线上事故

    刚刚经过双十一,作为一个电商的研发人员,在刚刚过去的双十一中系统受大促影响,峰值请求量翻了有100倍,在一定时间内...

  • 一次重大的线上事故的总结

    问题背景描述 服务以及上线几个月,今天在客服查询用户的提现信息的时候,发现有的用户竟然出现了高达数千数万的提现请求...

网友评论

    本文标题:一次线上事故

    本文链接:https://www.haomeiwen.com/subject/xcmkvttx.html