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

    var query= db.GetCollection<Merchant>("merchant").Find(Query<Merchant>.EQ(m =& ...

  2. 开源实时视频码流分析软件:VideoEye

    本文介绍一个自己做的码流分析软件:VideoEye.为什么要起这个名字呢?感觉这个软件的主要功能就是对"视频"进行"分析".而分析是要用眼睛来看的,因此取了&q ...

  3. 用htaccess进行访问控制(转)

    1. 文件访问控制 利用 httpd.conf 中的 Order.Files 及 FilesMatch 命令实现的访问控制可以满足大部分要求,但是当用户被拒绝时,他们看到的是硕大的“403 Forbi ...

  4. MaxReceivedMessageSize :已超过传入消息(65536)的最大消息大小配额

    做的windows应用程序(后台调用webservice),数据量大的时候,报错如下: System.ServiceModel.CommunicationException: 已超过传入消息(6553 ...

  5. C++转换函数

    1. 赋值操作时把右操作数隐式转化为左操作数2. 通过普通单参数构造函数把其他类型的对象隐式转换为我们的类类型3. 通过转换函数operator type()这种成员函数可以把类类型转成其他类型,这样 ...

  6. 初学coreData数据库读取不成功的问题

    写了一个从数据库读取数据显示列表的代码,结果却无法运行,提示找不到对应的entity,也就是数据库中的某一个表 我查遍了代码也没有发现什么逻辑错误,在appDelegate也初始化了相关数据库,在界面 ...

  7. Activity的任务栈Task以及启动模式与Intent的Flag详解

    什么是任务栈(Task) 官方文档是这么解释的 任务是指在执行特定作业时与用户交互的一系列 Activity. 这些 Activity 按照各自的打开顺序排列在堆栈(即“返回栈”)中. 其实就是以栈的 ...

  8. ButterKnife 注解

    简介 官网:http://jakewharton.github.io/butterknife/ github:https://github.com/JakeWharton/butterknife 依赖 ...

  9. 关于JS中查看当前节点的兄弟节点的使用

    <tr> <td align="center"><input style="width: 20px;" type="ch ...

  10. <html:form>、 <html:text>、<html:password>、<html:submit> 标签

    用Struts标签来写表单元件, 引用: <%@ taglib uri="/tags/struts-html" prefix="html" %> 例 ...