前言

  本篇文章写在新春佳节前夕,也是给IT运维朋友一个警醒,在春节长假前请妥善体检自己的系统安心过个年。

  千里之堤毁于蚁穴,一条看似简单的语句就能拖垮整个系统,您的SQL Server很久没体检了吧? 就像一块藏着刀片的蛋糕!怎能安度春节?

  日志暴增的问题处理过很多,这只是很常规的一次,但是对于不是很熟练的运维兄弟,可能日志暴增这样的问题会被一带而过,或者解释成突发情况而不去处理,那么隐患依然存在,在春节这样的长假发生可怎么办呢?

场景描述

  本案例是一个很成熟的ERP厂商的产品,接到用户紧急电话,说他们日志突然暴增磁盘告警,50G的数据库日志已经达到200G。

  

  看到这有的看官可能会说,肯定是没定时做日志备份导致日志不断变大!或者说才200G 一点也不大呀!

  没错,日志不备份缺失会有这样的问题,但这情景是小儿科,不会拿出来写案例的,200G 确实也不大,但要分场景,在此客户平均10个G 的场景下 200G已经是爆炸式的问题了!

  为什么会拿出来写案例,就是因为想要告诉大家排查这样问题的思路,不要让这样的暴增单纯的说成突发情况!

问题分析

  拿到收集文件我直入主题,查看日志的增长情况、写入状态、问题时间点等信息

  

  在日志的分配空间我们了解到日志是在11点43分左右突然暴增一直增长到13点左右达到240G

  

  分配空间也是同样的情况在11点43分左右暴增,后期在1点半的下降就是日志备份让使用空间被释放。

  

  

  日志文件的写入也符合这个时间点,在11点43分左右写入达到40MB/秒,并且持续了1个多小时。

  

  通过这几张图,我们很清晰的就能定位到日志暴增的时间点,下面只要找到对应时间点的语句即可!

  我的排查思路有些不同,持续1个小时的写入,必然伴随着日志文件的增长(文件增长设置固定值100MB),这里需要提一下:这就是固定增长的好处,因为当达到240G 如果按照默认10%增长,那么一次需要增24G 磁盘已经没有那么多空间,则会导致报错,系统中断!

  回到排查思路,这里我直接查看对应时间点系统的等待情况:

  

  直接找到日志文件增长的等待类型,查看运行的语句确实运行时间是从11点15到13点15,和日志增长的情况吻合!!

  就这样,只花了10分钟就定位到问题,找到语句,由于存储过程加密,我无法看到里面的代码,但是暴增的语句已经找到,需要软件厂商自行处理啦!!

  就是这样简单,打完收工!所以不要放过这样的问题排查!

后怕

  为什么说不能放过这样问题的排查!!!

  首先,这个系统正准备上集群,集群大家都知道单机变多台,必然涉及到数据的同步,同步是要有消耗的,对写入的性能会有影响,细心的小伙伴可能已经看到这个语句消耗了多少资源,逻辑读,写,影响行数有多少了

  

  没错,64亿的逻辑读!为什么会产生这么大的日志,导致暴增!因为写入1亿次,影响行数19亿,并且执行的时间不是在夜间的维护期,而是在中午11点15开始,这么大的处理在集群方案部署的时候一定要高度警惕,这么大的同步量完全可能导致集群严重延迟,甚至宕机!所以这不单单是一次日志暴增问题的排查了,也是对系统功能更加细致的了解,如果这样的问题没有及早发现,就算集群后期测试也不一定会被测试到,进而导致集群上线后的悲催。

PS:继逻辑读 23亿,34亿,45亿后这个案例有刷新了我见过的最大逻辑读 64亿!

  纪念一下

--------------博客地址---------------------------------------------------------------------------------------

博客地址 http://www.cnblogs.com/double-K/

 

欢迎转载,请注明出处,谢谢!

-----------------------------------------------------------------------------------------------------

总结

  系统运维就是保证系统平稳运行的工作,看似简单但个中奥妙和心酸只有运维人才能体会,不要放过每一个细节,一个简单突发情况处理可能引出一系列问题,而解决这些问题又是保证系统平稳运行基础,请给运维人多一些关爱吧,比如春节来个大红包,哇哈哈哈哈!!

  有的小伙伴已经开始春节休假了,祝大家新春快乐,系统平安!

----------------------------------------------------------------------------------------------------

注:此文章为原创,欢迎转载,请在文章页面明显位置给出此文链接!
若您觉得这篇文章还不错请点击下右下角的推荐,非常感谢!

故障排查实战案例——某电器ERP系统日志暴增的更多相关文章

  1. 数据库实战案例—————记一次TempDB暴增的问题排查

    前言 很多时候数据库的TempDB.日志等文件的暴增可能导致磁盘空间被占满,如果日常配置不到位,往往会导致数据库故障,业务被迫中断. 这种文件暴增很难排查,经验不足的一些运维人员可能更是无法排查具体原 ...

  2. Oracle归档日志暴增排查优化

    1.ORACLE归档日志介绍 归档日志暴增是oracle比较常见的问题,遇到归档日志暴增,我们该如何排查: 归档日志暴增一般都是应用或者人为引起的 理解归档日志存储的是什么 如何排查归档日志暴增原因 ...

  3. 【集群实战】NFS服务常见故障排查和解决方法

    NFS,全名叫Network File System,中文叫网络文件系统,是Linux.UNIX系统的分布式文件系统的一个组成部分,可实现在不同网络上共享远程文件系统. NFS由Sun公司开发,目前已 ...

  4. Linux启动故障排查和修复技巧

    一个执着于技术的公众号 我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应对单用户模式.GRUB命令操作.Linux救援模式的故障修复案例帮助大家了解此类问题的解 ...

  5. Linux系统运维故障排查

    一.思路 1.处理问题要求 2.一般思路 二.具体问题 1.网络问题 (1)网络不通 (2)网络很慢 2.硬件问题 3.操作系统问题 (1)系统无法正常启动 (2)系统运行慢或死机 4.服务或程序问题 ...

  6. Rsync 12种故障排查及思路

    Rsync 故障排查整理 Rsync服务常见问题汇总讲解: ====================================================================== ...

  7. Java程序线上故障排查

    目录 一.Linux 内存和cpu 网络 磁盘 /proc文件系统 二.JVM Java堆和垃圾收集器 gc日志分析 JVMTI介绍 Attach机制 java自带工具 三.三方工具 jprofile ...

  8. golang 服务诡异499、504网络故障排查

    事故经过 排查 总结 事故经过 11-01 12:00 中午午饭期间,手机突然收到业务网关非200异常报警,平时也会有一些少量499或者网络抖动问题触发报警,但是很快就会恢复(目前配置的报警阈值是5% ...

  9. Linux操作系统的日志管理之rsyslog实战案例

    Linux操作系统的日志管理之rsyslog实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志介绍 1>.什么是日志 历史事件: 时间,地点,人物,事件 日志级 ...

随机推荐

  1. php解决微信开发中用户昵称中的特殊字符与emoji表情写入mysql错误的问题

    解决办法:将3个字节的特殊字符与emoji表情替换掉即可. $nickname = preg_replace('/xE0[x80-x9F][x80-xBF]'.'|xED[xA0-xBF][x80-x ...

  2. iOS透明引导页

    一.效果展示 这里写图片描述 这种类型的新手引导比较常见,用于告诉用户某个按钮的作用,或者提醒用户可以进行某种交互操作.引导样式是在界面上加了一个半透明的引导图,高亮部分就是要突出的区域 二.怎么做? ...

  3. linux 文件类型识别

    使用 ls -aldrwxr-xr-x. 4 root root 100 Apr 26 15:05 cpulrwxrwxrwx. 1 root root 13 Apr 26 15:05 fd -> ...

  4. ubuntu10.4的更新源因过期无法更新的解决方法

    转载自:http://blog.csdn.net/suquan629/article/details/52333769 ubuntu10.4到2016年早已停止了更新支持,ubuntu也不再维护了.官 ...

  5. struts2拦截器-自定义拦截器,放行某些方法(web.xml配置)

    一.web.xml配置 <filter> <filter-name>encodingFilter</filter-name> <filter-class> ...

  6. 今天学习了下,如何破解wifi

    破解了隔壁的wif,得罪了,哥哥要蹭网一段时间. 主要思路:安装linux环境.这里我选择了虚拟机加cdlinux .运行里面的min抓得握手包,然后淘宝花10元跑下包,因为自己的电脑不行,跑费时间太 ...

  7. java实现——003二维数组中的查找

    import java.util.Scanner; public class T003 { public static void main(String[] args) { Scanner in = ...

  8. SpannableString富文本

    忍不住想吐槽这个类,这个类是要给文本设置不同的颜色.字体样式 例子:一句话中只有某几个文字想要设置成不同的颜色 起初写了一个函数setColorStyle(), public SpannableStr ...

  9. [Poi2000]公共串 && hustoj2797

    传送门:http://begin.lydsy.com/JudgeOnline/problem.php?id=2797 题目大意:给你几个串求出几个串中的最长公共子串. 题解:先看n最大才5,所以很容易 ...

  10. bzoj3942——2016——3——15

    题目大意: 3942: [Usaco2015 Feb]Censoring Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 220  Solved: 11 ...