MTTR
Mean Time To Recovery: the average time from when a failure is detected to when the service is restored. A key reliability metric that drives investment in automation and runbooks.
What is MTTR?
In short
MTTR (Mean Time To Recovery) is the average time it takes to restore a service after a failure, measured from the moment the failure is detected to the moment the system is working again. A low MTTR means outages are short and customers barely notice; a high MTTR means failures turn into long, painful incidents.
What MTTR actually measures
MTTR is a reliability metric. You take every incident over a period, add up how long each one took to recover from, and divide by the number of incidents. If you had 4 outages last quarter that took 10, 20, 30, and 40 minutes to fix, your MTTR is 25 minutes.
The clock usually starts when the failure is detected, not when the customer first felt it, and stops when the service is fully restored. That detection gap matters: if your monitoring takes 15 minutes to notice a problem, that delay is often tracked separately as MTTD (Mean Time To Detect). Some teams measure MTTR from the moment of failure instead of detection, so always check which definition a team is using before comparing numbers.
The letters get reused for several related ideas. Recovery and Repair are the two common readings of the second R, and people also talk about Mean Time To Respond and Mean Time To Resolve. They are not the same. Repair counts only the hands-on fixing time; Recovery includes everything from alert to service restored. Pick one definition and stick to it.
How teams actually drive it down
MTTR is mostly an operations and automation problem, not a code problem. The biggest wins come from cutting the time spent figuring out what broke, not the time spent typing the fix. Good observability, clear dashboards, and alerts that point at the real cause shrink the investigation phase, which is usually where the minutes pile up.
Automation is the next lever. Health checks that auto-restart a crashed container, load balancers that pull an unhealthy node out of rotation, and orchestrators like Kubernetes that reschedule failed pods all recover without a human in the loop. The fastest recovery is the one nobody had to wake up for. When humans are needed, tested runbooks turn a 40 minute scramble into a 5 minute checklist.
The other half is making rollback cheap and instant. If a bad deploy can be reverted with one command or an automatic canary rollback, recovery is near-instant. Blue-green deploys, feature flags you can flip off, and immutable infrastructure all exist largely to make MTTR small.
Trade-offs and when it matters
MTTR pairs with MTBF (Mean Time Between Failures) to describe reliability. Availability is roughly MTBF divided by MTBF plus MTTR, so you can hit a high uptime number two ways: fail rarely, or recover fast. For most internet services, investing in fast recovery is cheaper and more realistic than trying to never fail, because failures are inevitable at scale.
The metric has sharp edges. An average hides the worst cases, so one 6 hour outage buried among many quick fixes can look fine on paper while having burned your customers. Tracking the median and the worst-case alongside the mean gives a truer picture. A small sample size also makes MTTR noisy: with only three incidents, a single bad one swings the whole number.
Chasing MTTR too hard can backfire. Teams under pressure to mark incidents resolved fast may slap on a quick workaround instead of a real fix, which leads to the same outage next week. MTTR is most honest when paired with a real postmortem process and a count of repeat incidents.
A concrete example
Say a payments API starts returning 500 errors at 2:14 because a new build has a bad config. Monitoring fires a PagerDuty alert at 2:16 (MTTD is 2 minutes). The on-call engineer opens the dashboard, sees error rate spiking right after a deploy, and triggers an automated rollback at 2:21. Traffic recovers by 2:24. MTTR for this incident is 8 minutes measured from detection.
Now imagine the same outage without good tooling: no deploy correlation on the dashboard, no one-click rollback, and the engineer has to SSH into boxes to read logs. The same root cause could take 45 minutes to find and fix. Same failure, same code, but MTTR is five times worse purely because of the recovery process.
This is why companies report MTTR in their SRE programs and tie it to error budgets. Google's SRE practice popularised the idea that you should engineer for fast, automated recovery rather than assume failures won't happen.
Where it is used in production
Kubernetes
Self-healing controllers restart crashed pods and reschedule them onto healthy nodes automatically, cutting recovery time to seconds with no human involved.
PagerDuty
Routes alerts to the right on-call engineer in seconds and tracks incident timelines, so teams measure and shrink the detection-to-resolution window.
AWS
Auto Scaling health checks replace failing EC2 instances and load balancers drain unhealthy targets, recovering capacity without manual intervention.
Google SRE
Pioneered error budgets and automated rollback culture, treating fast recovery as the primary path to high availability rather than zero failures.
Frequently asked questions
- What does MTTR stand for?
- Most commonly Mean Time To Recovery, the average time to restore a service after a failure. The second R is also read as Repair, and related terms include Mean Time To Respond and Mean Time To Resolve, so confirm which definition a team uses before comparing numbers.
- How do you calculate MTTR?
- Add up the total recovery time across all incidents in a period, then divide by the number of incidents. If three outages took 10, 20, and 30 minutes, MTTR is 60 divided by 3, which is 20 minutes.
- What is the difference between MTTR and MTBF?
- MTTR measures how fast you recover from a failure; MTBF (Mean Time Between Failures) measures how often failures happen. Availability depends on both: rare failures or fast recovery can each raise uptime.
- What is a good MTTR?
- There is no universal number; it depends on the service. High-performing teams in DevOps research often recover from incidents in under an hour, and for critical user-facing services many aim for minutes. Compare against your own trend, not an absolute target.
- How do you reduce MTTR?
- Improve observability so you find the cause faster, automate recovery with health checks and orchestrators, make rollbacks one command, and keep tested runbooks. Most of the time saved comes from faster diagnosis, not faster typing.
Learn MTTR hands-on
This page explains the idea. The full lesson lets you step through the ring as servers join and leave, read the implementation, and check yourself with a quiz. It is one of 760+ lessons in the System Design Masterclass, from your first API call to distributed consensus. Eleven Foundation lessons are free, no signup. Lifetime access is ₹499 in India or $7.99 worldwide, one payment, no subscription.
Related lessons
Lessons that touch on MTTR as part of a larger topic.
See also
Related glossary terms you might want to look up next.
MTTD
Mean Time To Detect: the average time between a failure occurring and being noticed. Shorter MTTD means better monitoring and alerting. You can't fix what you don't know is broken.
SLO
Service Level Objective: a target value for an SLI, like '99.9% of requests under 300ms.' The internal engineering goal that drives reliability investment.
Incident Response
The structured process for detecting, containing, eradicating, and recovering from security incidents. Includes communication plans, runbooks, and post-incident reviews.
Chaos Engineering
Deliberately injecting failures into a system to test its resilience. Netflix's Chaos Monkey randomly kills servers to ensure the system survives.
Back Pressure
A flow control mechanism where a slow consumer signals upstream producers to slow down. Prevents systems from being overwhelmed by data they can't process.
SLI
Service Level Indicator: a quantitative measure of service behavior, like the proportion of requests faster than 300ms. The raw metric that feeds SLOs.