由于个人疏忽导致现场服务器崩溃的一次总结

前言

非常抱歉,这是一个非常非常严重的生产事故,写下来的主要目的是让自己铭记于心,防止下次发生。(PS:可能也还会发生)

具体过程

事故原因是这样的,偶然一个寂静无声的夜晚,大概十点半的时候,突然,现场反馈没有办法使用了,我丢,啥情况呀。 各种查询都很慢, 提交几十K数据也要十来秒的时间。 当时,误以为是点位不够导致的数据查询慢,压根也没有想到去优化代码,然后扯个谎,让现场多加点空闲点位。 然后,偷偷摸摸的重启了数据库服务,让其恢复正常。 整个过程一丝不苟非常完美。 客户夸夸点赞。

当时没有放在心上,第二天晚上又出现相同的问题,而且也是相同的个时间段。

当时分析:

(1)上线了由于之前都是在客户现场做开发,很多没有加索引,现在运行起来数据量大了,就导致了大量慢查询。

(2) 由于在现场开发,开发测试都是都一个人,很多东西逻辑混乱, 很多必要的引用。

(3) 数据库和程序是部署在同一台服务器上的,数据库没有设置最大的内存限制,数据库会一直执行并将查询的数据保存在内存中。

优化:

(1) 再忙都要进行压力测试。

(2) 避免忘记加索引, 建议在每张表的高频查询上都加上索引,不论数据量是多还是少等等。

(3) 前端高频操作,需要做节流限制,避免短时间多次点击,造成后台资源浪费

(4)代码层面上循环里一定!一定!一定!不要做数据库查询,除非不得已情况

(5) 高频次数据一次性查询添加到缓存中,设置过期阈值。

(6)减少不必要的引用,不需要的统统删除。

(7) 设置数据库最大内存限制,根据平时时间正常运行的值去设置。

(8) 升级服务器 (后面做了双机热备,内存比之前整整多了一倍)

最后

感谢客户领导以及同事的帮助与支持,不然我也没有那么好的一次人生经验!

相关推荐
Bruce_Liuxiaowei16 小时前
基于HTA的Meterpreter反向Shell攻击实验
网络·windows·经验分享·网络安全·渗透测试
中屹指纹浏览器19 小时前
双GAN网络驱动的动态指纹生成技术深度解析——原理、实现与抗检测优化
经验分享·笔记
芯有所享19 小时前
【芯片工艺选择的艺术:如何在前端设计阶段平衡PPA与成本】
经验分享
思陌Ai算法定制21 小时前
Radiology | 基于深度学习的CT骨质疏松机会性筛查:跨设备标准化与大规模人群基准值
经验分享
芯片智造1 天前
探索半导体3D动画中的科技感:企业视觉识别系统的创新之路
经验分享·半导体·3d动画·芯片制造·芯片动画·半导体动画
灏瀚星空1 天前
基于 Python 与 GitHub,打造个人专属本地化思维导图工具全流程方案(上)
开发语言·人工智能·经验分享·笔记·python·个人开发·visual studio
三流架构师1 天前
线性代数资源合集
经验分享
纵有疾風起1 天前
【Linux 系统开发】基础开发工具详解:自动化构建、版本控制与调试器开发实战
linux·服务器·开发语言·c++·经验分享·开源·bash
sulikey1 天前
机械革命旷世G16Pro加装固态硬盘经验分享
经验分享·电脑·硬盘·加装硬盘·机械革命
三流架构师1 天前
区块链开发资源合集
经验分享