昨天,一个用户打来了紧急求助电话,并且发了邮件,弄得我当时紧张了一下,以为他们那里又出了什么乱子。用户在电话里说:应用系统性能很差,运行很慢,几近“卡死”的感觉,而且重启了多次应用和数据库服务器,最终还是没解决,我们该怎么办。。。用户在电话里说的很急,有点糊里糊涂,我赶紧问:现在事故正发生吗?他说:不是。我更糊涂了,赶紧问:什么时候的事情?用户说:昨天的事情。我立刻放松下来,问用户:昨天的事情怎么才找我?用户说:昨天现场的工程师和维保人员,他们一开始很自信,一直在捣鼓,结果捣鼓了好几个小时也没查出结果,后来系统就自己好了。。。我笑着问用户:既然好了,你还给我打电话干嘛?而且还那么着急,弄得我都有点紧张了。。。用户还是很着急的说:我们现场人员和维保公司的人,到现在也没搞清楚当时怎么回事儿,怕今天和以后还发生,所以就找你给看看,昨天到底是咋回事儿,因为这个事情,昨天的系统好几个小时一直不能用,领导都已经不满意了。既然用户要求,那就得动工了,因为事故发生的时间比较久了,当时的系统状况都不了解,而且很多信息也许永远获取不到了。现在只能让用户取下能获取的信息,事故发生时的系统和数据库报告和日志等,发过来看了下,当时数据库系统的性能确实很差,尤其是IO性能,如下图:

那么,什么原因导致的IO性能如此之差呢?继续分析了下当时的IO负载,并不是很重,至少对用户的这款存储来说不会导致如此差的性能,如下图:

既然系统上的IO负载不重,那么就是存储设备出现了问题,但看了数据库和系统的运行日志,并未发现存储方面的报错信息,而且,我一再和用户现场人员核实,确认最近硬件没问题,也没人动数据库服务器的软硬件。。。
系统存储一段时间突然性能陡降,一段时间后又恢复了正常。。。忽然,灵光一现,我向用户提出看下存储运行日志,用户马上发给了我,我看了下,验证了我的判断,到这里,大家应该知道到底什么原因导致的事故了吧?如果有的同学还不清楚,那继续,如下图:

至此,真相大白,和用户的现场人员核实了当时的情况,虽然我们知道了事故的原因,但这件事儿警示我们运维人员在今后的工作中须更加勤快、认真和负责,以避免类似事故的发生。

值得IT运维人员警示的“一件事儿”的更多相关文章

  1. 一切从“简”,解放IT运维人员

    运维人的神技 运维既是个技术活儿也是个苦差事,而运维人员被期望有着无限的技能:主机.存储.网络.操作系统样样精通,而且还要会写SQL.shell.开发语言java..net.python等等,对业务更 ...

  2. Linux运维人员如何学习python编程

    Linux运维人员如何学习python编程 从不会写代码,到自己独立能写代码解决问题 .这个问题很重要!盲目学习所谓的项目,最后 还是不会自己写代码解决问题.首先解决了独立能写代码解决问题,再通过项目 ...

  3. Linux运维人员共用root帐户权限审计

    Linux运维人员共用root帐户权限审计 2016-11-02 运维部落 一.应用场景 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度.不出问题还 ...

  4. 运维人员:走好你的IT运维路

      转自 http://os.51cto.com/art/201303/387120.htm   现阶段,大多数运维人员只是处于被动低效率手工救火的状态,企业对其重视程度不高,导致部分运维人员对自己的 ...

  5. Linux运维人员共用root帐户权限审计(转至马哥Linux运维)

    一.应用场景 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度.不出问题还好, 出了问题,就很难找出源头.这里介绍下,如何利用编译bash 使不同的客 ...

  6. 编写一个BAT脚本协助运维人员遇到问题时候调测数据库是否有效连接成功的操作攻略

    简单摘要: 1.内网系统出现故障需要排查 2.运维人员不熟悉数据库操作,没法通过连接数据库和执行SQL语句的方式排查数据库及数据是否正常 3.解决方案:编写一个bat脚本,运维人员双击运行即可.   ...

  7. [转]2016年linux运维人员必会开源运维工具体系

    linux运维人员必会开源运维工具体系 说明:不同的技术人员,不同的阶段确定知识边界非常重要,否则,就像马拉车,不知道终点在哪,累死也达不到目标.例如拿8K要学多少,拿15K要学多少.一个新手也许只想 ...

  8. (转)2017年Linux运维人员必会开源运维工具体系

    标签:操作系统 中间件 千里马 Linux 技能 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51ct ...

  9. linux运维人员成长

    原文地址:https://blog.csdn.net/kwame211/article/details/78059331 初级篇 linux运维人员常用工具拓扑详见: 1rsync工具 很多地方经常会 ...

随机推荐

  1. 再探java基础——对面向对象的理解(2)

    对象.类和抽象类的区别 对象是一个具体的事物,类是对具有相同属性和行为的一组对象的抽象,对象是类的一个一个人的具体实例:抽象类是一种特殊的类,是对类的进一步抽象,抽象类不能被实例化. 类.抽象类和接口 ...

  2. 第二篇:Power BI数据可视化之基于Web数据的报表制作(经典级示例)

    前言 报表制作流程的第一步显然是从各个数据源导入数据,Power BI能从很多种数据源导入数据:如Excel,CSV,XML,以及各类数据库(SQL Server,Oracle,My SQL等),两大 ...

  3. golang中channel的超时处理

    并发中超时处理是必不可少的,golang没有提供直接的超时处理机制,但可以利用select机制来解决超时问题. func timeoutFunc() { //首先,实现并执行一个匿名的超时等待函数 t ...

  4. 从零开始学习jquery (一)

    一.jquery是什么 Jquery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safar ...

  5. Linux基础系列—Linux体系结构和Linux内核结构

    /** ****************************************************************************** * @author    暴走的小 ...

  6. bitbucket/github同一站点上多个git代码仓库的ssh-key配置

    由于项目开发需要,可能多个项目都放在bitbucket或者github上面,每个项目都有独立的sshkey,这就会造成push时的系统默认取~/.ssh/id_rsa的问题. 最简单的解决方法是这样: ...

  7. java常识和好玩的注释

    如字符串使用strXXXboolean使用isXXX,hasXXX Vector vProducts= new Vector(); Array aryUsers= new Array(); 类与接口基 ...

  8. 一起学makefile

    Unix.Linux必学知识哈哈,网上看到一哥们写得挺好挺详细的,直接复制地址就分享哈哈哈. 跟我一起写 Makefile(一) 概述 跟我一起写 Makefile(二) make是如何工作的 跟我一 ...

  9. SQL中varchar和nvarchar有什么区别?

    varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字节的实际长度,而不是 n 个字节.nvarc ...

  10. PS纯手式打造不规则颜色的规则方块—学习教程