MTTR是什么?或者说为什么别给婴儿喝白兰地
在团队纷纷谈起工作效率的时候,对运维工作者,他们通常喜欢用「故障的平均解决时间」来衡量团队的工作效率。然而这往往是不正确的。一个迅速解决大量突发事故的团队十分高效,而实际上这更有可能意味着该团队的基础设施十分脆弱易损。那我们应该使用什么标准来衡量团队的工作效率呢?
本文系国内 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是什么?或者说为什么别给婴儿喝白兰地的更多相关文章
- ORACLE MTTR
实例恢复时间:指的是将数据文件的最后一个检查点(检查点位置)推进到控制文件中记录的最新SCN 所需的时间.管理员可以通过设置MTTR 目标以及调整重做日志组的大小来控制该时间.MTTR 指导:Mean ...
- 浅析设备管理的MTTR,MTTF,MTBF计算方法
一般来说,对于设备的关键性指标的统计,国际惯例中有三个指标用来进行统计,它们分别是: MTTR(Mean Time To Repair),平均修复时间.计算方法是:总的故障时间/故障次数.计算公式为: ...
- Apache HBase MTTR 优化实践
HBase介绍 HBase是Hadoop Database的简称,是建立在Hadoop文件系统之上的分布式面向列的数据库,它具有高可靠.高性能.面向列和可伸缩的特性,提供快速随机访问海量数据能力. H ...
- 实验:Oracle直接拷贝物理存储文件迁移
实验目的:Oracle直接拷贝物理文件迁移,生产库有类似施工需求,故在实验环境简单验证一下. 实验环境: A主机:192.168.1.200 Solaris10 + Oracle 11.2.0.1 B ...
- ORA 各种oraclesql错误
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ...
- UDAD 用户故事驱动的敏捷开发 – 演讲实录
敏捷发展到今天已经在软件行业得到了广泛认可,但大多数敏捷方法都是为了解决某一特定问题而总结出来的特定方法或实践,一直缺乏一个可以将整个开发过程串接起来的成体系的方法.用户故事驱动的敏捷开发(User ...
- KPI:Key Performance Indicator
通信中KPI,是Key Performance Indicators的缩写,意思是关键性能指标.performance 还有绩效:业绩的意思,但显然不适用于这种场合. 通信中KPI的内容有:掉话率.接 ...
- [转]Oracle10g数据库自动诊断监视工具(ADDM)使用指南
第一章 ADDM简介 在Oracle9i及之前,DBA们已经拥有了很多很好用的性能分析工具,比如,tkprof.sql_trace.statspack.set even ...
- 基于SSH框架的网上商城的质量属性
常见质量属性 1.性能 性能就是一个东西有多快,通常指响应时间或延迟. 响应时间:从发出请求到收到响应所用的时间,比如用户点击网页中的超链接或桌面应用程序中的按钮 延迟:消息从A点到B点,通过你的系统 ...
随机推荐
- android 72 确定取消对话框,单选对话框,多选对话框
package com.itheima.dialog; import android.os.Bundle; import android.app.Activity; import android.ap ...
- linux IO 内核参数调优 之 原理和参数介绍
1. page cache linux操作系统默认情况下写都是有写缓存的,可以使用direct IO方式绕过操作系统的写缓存.当你写一串数据时,系统会开辟一块内存区域缓存这些数据,这块区域就是我们常 ...
- MYSQL 专家 ----zhaiwx_yinfeng
http://mysqllover.com/?p=708 https://yq.aliyun.com/articles/54454 http://blog.csdn.net/zhaiwx1987/ar ...
- 【转】jsoncpp在xcode中的使用
http://blog.csdn.net/ashqal/article/details/8573392 考虑到cocos2dx需要使用jsoncpp做关卡的设置, 尝试用源代码直接放到项目以方便后期生 ...
- ClassLoader(摘录)
Java虚拟机类加载过程是把Class类文件加载到内存,并对Class文件中的数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的java类型的过程. 在加载阶段,java虚拟机需要完成以下 ...
- 使用Preference保存设置
http://blog.csdn.net/barryhappy/article/details/7381544 Android中有四种持久化数据的方法:SQLite数据库.文件存储.Preferenc ...
- google map 定位
在map初始化的过程中,得到当前经纬度,完成初始化地图,通过HTML5中的Geolocation实现,具体参考:http://www.jb51.net/html5/71556.html 1.获取当前地 ...
- hibernate 连接 oracle数据库
前言:以下所有的操作都是基于你已经成功安装了oracle数据库并且java的开发环境正常的情况下进行的. 如果没有完善请先配置基础环境. 第一步:配置需要的环境(下载并导入需要的包). 我的百度云盘里 ...
- ios开发中MVC模式的理解
MVC是80年代出现的一种软件设计模式,是模型(model),视图(view)和控制(Controller)的缩写. 其中Model的主要功能包括业务逻辑的处理以及数据的访问,这是应用程序的主体部分. ...
- CSS 导航栏
实例: 导航栏 Home News Articles Forum Contact About 导航栏 熟练使用导航栏,对于任何网站都非常重要. 使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜 ...