在团队纷纷谈起工作效率的时候,对运维工作者,他们通常喜欢用「故障的平均解决时间」来衡量团队的工作效率。然而这往往是不正确的。一个迅速解决大量突发事故的团队十分高效,而实际上这更有可能意味着该团队的基础设施十分脆弱易损。那我们应该使用什么标准来衡量团队的工作效率呢?

本文系国内 ITOM 管理平台 OneAPM 翻译整理自Dan Turchin 2015 撰写的文章
《What is MTTR?Or why not to feed the baby cognac》

MTTR(平均恢复前时间)是什么?我们不已字面的角度去回答它,这个提问更倾向于它的哲学意义。基于解决突发事故的时间来测量评估工作效率已经过于绝对,显得老旧。就如同大海中的一帆孤舟,漂泊不定,不知方向。

如同禅宗关于只手之声的谜语一般,解谜的要点是首先提问如下问题:

  • 什么是突发事故?
  • 解决突发事故意味着什么?
  • 解决问题是不是越快越好?

我的答案如下:

什么是突发事故?

(突发事故)是对人、进程或事物有负面影响的,被某些非预期行为触发的问题。它们通常是更严重问题的征兆,经常可能导致系统或者业务发生毁灭性的的灾难。并且通常能经由常规方式修复,比如重启机器、重新连接、重启程序三部曲。

但是对于IT运维的目标,并不是通过修复自己制造的问题而获取赞誉,而是经营一个不会出现大量突发事故的健康的服务器环境。由「平均恢复前时间」所驱动的生产运作系统管理通常会误认为,一个迅速解决大量突发事故的团队十分高效,而实际上这更有可能意味着该团队的基础设施十分脆弱易损。

解决突发事故意味着什么?

通常认为解决突发事故是积极举措。然而事实上解决突发事故时,正确的做法是首先判定被评估对象。以「平均恢复前时间」为评估手段可能会掩饰警示,将红灯变为安全的绿灯。其他度量手段,例如平均故障间隔时间,对于判定基础设施是否保持一贯健康运行状态而言,是更佳的度量指标。

迅速解决突发事故是否总是最佳选择?

在IT领域,仅评估影响业务正常运行的时间无异于给婴儿浸有白兰地的奶嘴。虽然孩子迅速停止哭泣,但他的爸爸却可能因此入狱(然而妈妈绝对不会作出给婴儿喂酒的糟糕决断)。

那么,什么是 MTTR(平均恢复前时间)?

(平均恢复前时间)是讨论运营卓越性的基点。它的价值在每个企业中不尽相同,且是众多评价健康进程和基础设施的指标之一。最好的统计方法是计算全时段所有突发事件在「未解决状态」下的时长,而不是事件「被解决」状l态下的时长除以突发事件总数。在后一种情况下,(系统正常运行)持续时间是基于机器时间戳(区别于运营人员提供的状态改变点)进行计算的,此时机器会使用监测数据(作为基线),重启的相同突发事件(或称为震荡)总会被认定为独立突发事件。

请不要把这篇文章看做是 IT 技术准则的无端攻击,请将它看作是一封邀请信,邀请你花半个小时来评估 MTTR 否是与商业价最契合的度量手段。

OneAlert 是北京蓝海讯通科技有限公司旗下产品,中国首个 SaaS 模式的云告警平台,集成国内外主流监控/支撑系统,实现一个平台上集中处理所有IT事件,提升IT可靠性。想了解更多信息,请访问 OneAlert 官网

本文转自 OneAPM 官方博客

MTTR是什么?或者说为什么别给婴儿喝白兰地的更多相关文章

  1. ORACLE MTTR

    实例恢复时间:指的是将数据文件的最后一个检查点(检查点位置)推进到控制文件中记录的最新SCN 所需的时间.管理员可以通过设置MTTR 目标以及调整重做日志组的大小来控制该时间.MTTR 指导:Mean ...

  2. 浅析设备管理的MTTR,MTTF,MTBF计算方法

    一般来说,对于设备的关键性指标的统计,国际惯例中有三个指标用来进行统计,它们分别是: MTTR(Mean Time To Repair),平均修复时间.计算方法是:总的故障时间/故障次数.计算公式为: ...

  3. Apache HBase MTTR 优化实践

    HBase介绍 HBase是Hadoop Database的简称,是建立在Hadoop文件系统之上的分布式面向列的数据库,它具有高可靠.高性能.面向列和可伸缩的特性,提供快速随机访问海量数据能力. H ...

  4. 实验:Oracle直接拷贝物理存储文件迁移

    实验目的:Oracle直接拷贝物理文件迁移,生产库有类似施工需求,故在实验环境简单验证一下. 实验环境: A主机:192.168.1.200 Solaris10 + Oracle 11.2.0.1 B ...

  5. ORA 各种oraclesql错误

    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ...

  6. UDAD 用户故事驱动的敏捷开发 – 演讲实录

    敏捷发展到今天已经在软件行业得到了广泛认可,但大多数敏捷方法都是为了解决某一特定问题而总结出来的特定方法或实践,一直缺乏一个可以将整个开发过程串接起来的成体系的方法.用户故事驱动的敏捷开发(User ...

  7. KPI:Key Performance Indicator

    通信中KPI,是Key Performance Indicators的缩写,意思是关键性能指标.performance 还有绩效:业绩的意思,但显然不适用于这种场合. 通信中KPI的内容有:掉话率.接 ...

  8. [转]Oracle10g数据库自动诊断监视工具(ADDM)使用指南

    第一章 ADDM简介                 在Oracle9i及之前,DBA们已经拥有了很多很好用的性能分析工具,比如,tkprof.sql_trace.statspack.set even ...

  9. 基于SSH框架的网上商城的质量属性

    常见质量属性 1.性能 性能就是一个东西有多快,通常指响应时间或延迟. 响应时间:从发出请求到收到响应所用的时间,比如用户点击网页中的超链接或桌面应用程序中的按钮 延迟:消息从A点到B点,通过你的系统 ...

随机推荐

  1. Cocos2d-x中常用粒子编辑器ParticleDesigner测试例子

    打开 ParticleDesigner 随意选择一种效果 选择save. 类型选择 cocosd(plist)类型保存至桌面 命名为myplist导出至桌面 选择右侧Emitter Config可设置 ...

  2. Java基础知识强化之网络编程笔记06:TCP之TCP协议发送数据 和 接收数据

    1. TCP协议发送数据 和 接收数据 TCP协议接收数据:• 创建接收端的Socket对象• 监听客户端连接.返回一个对应的Socket对象• 获取输入流,读取数据显示在控制台• 释放资源 TCP协 ...

  3. dll注册到GAC还是bin - sharepoint程序

    通常来说程序在使用dll的时候,会先去GAC中查找是否有存在合适的dll,然后才会到应用程序下的bin目录去查找: 前几天遇到了一个奇葩问题,web项目工程添加了一个第三方dll的引用,然后把这个第三 ...

  4. xshell连接本地Linux虚拟机!

    终端输入ifconfig获取本地虚拟机的IP地址; 安装openssh-server sudo apt-get install openssh-server 查看server是否启动: ps -ef ...

  5. Linux查看当前系统登录用户、登录日志、登录错误日志

    1.查看当前系统的登录用户 w who 2.查看成功登录历史记录 last -n 3.查看尝试登录失败的历史记录 lastb -n 4.显示每个用户最近一次登录成功的信息 lastlog

  6. Android源码编译过程之九鼎开发板

    build_kernel() { # 进入源码顶层目录 cd ${BS_DIR_KERNEL} || # 编译配置文件 make ${BS_CONFIG_KERNEL} ARCH=arm CROSS_ ...

  7. php字符串函数(1)

    下面去学习一下php的字符串函数,那么怎么去看手册呢,举个例子 int strcasecmp ( string $str1 , string $str2 ) 第一个int,表示此函数返回的类型是int ...

  8. java实现的可以无限级别添加子节点的菜单树

    网上大部分菜单树,都是单独用js代码来实现的,这样做的缺点是:用户无法动态的设置菜单项,比如,超级管理员可能需要根据每个用户的权限,赋予他们不同的系统功能,不同的功能对应着不同数量的菜单项. 对于此问 ...

  9. MVC 中的Areas支持

    在ASP.NET MVC 2中对于Area功能的增强,这样的增强是如何在同一个项目中更好地组织应用程序的? ASP.NET MVC 1.0时,如果我们要在一个项目中做自己网站的后台应用,而又保持URL ...

  10. 关于C++和C#类型比较的相关内容

    转载:http://www.csharpwin.com/csharpspace/6825r9922.shtml   C#类型比较 类别 类名 说明 Visual Basic 数据类型 C# 数据类型 ...