返回 登录
0

应用程序的八个关键性能指标及其度量方法

原文8 Key Application Performance Metrics and How to Measure Them
作者:Matt Watson
翻译:雁惊寒

译者注:本文介绍了八个常见的应用程序性能指标及其度量方法,以帮助读者监控和分析应用程序性能,提升用户体验。以下是译文。

如果你想了解如何度量应用程序的性能,那么你来对地方了。本文将介绍一些你应该要跟踪的最重要的几个应用程序性能指标。

1. 用户满意度/Apdex分数

应用程序性能指数或Apdex分数已经成为跟踪应用程序相对性能的行业标准。

它的原理是跟踪一个特定Web请求或一个事务需要花费多长时间才能完成。

那些事务请求随后会被分成四种类型,分别为:满意的(快)、可以容忍的(有点慢)、太慢和失败。最后通过一个简单的公式计算得出范围在0到1之间的分数。

Developers Need Smart Application Metrics, Not Server Monitoring

应用程序Retrace会帮你度量这些分数,它会自动跟踪每个应用程序和Web请求的满意度分数。然后将数字转换为0-100而不是0-1来表示,使其更容易理解。

Image title

回溯满意度图

2. 平均响应时间

让我先来说说平均值。我强烈建议使用上面提到的用户满意度Apdex分数作为跟踪整体性能的首选方式。也就是说,平均值仍然是一个有用的应用程序性能指标。

Application Performance Metrics Averages

3. 错误率

监控错误率是一项很关键的应用程序性能指标。

有三种不同的方式来跟踪应用程序错误率:

  • HTTP错误率:以错误结束的Web请求数。
  • 记录的异常:应用程序未处理和记录的错误的数量。
  • 抛出的异常:抛出的所有异常数量。

在应用程序中,通常会抛出并忽略数千个异常。隐藏在内的应用程序异常可能会导致很多性能问题。

4. 应用程序实例数量

如果你的应用程序在云上进行规模的扩大或缩小,那么你一定要知道运行的服务器或应用程序实例的数量。自动化的伸缩可以帮助你确保应用程序的规模满足需求,并在非高峰时段节省你的金钱。同时,这也带来了一些独特的监控挑战。

例如,如果你的应用程序根据CPU使用率自动扩展,你可能看不到CPU使用率变高。但是你会看到服务器实例的数量增多(更不用说你的主机帐单变多了!)。

5. 请求速率

应用程序接收数据的流量大小会影响你的应用程序的成功。所有其他应用程序的性能指标都会受到流量增加或减少的潜在影响。

请求速率可以跟其他的应用程序性能指标相关联,以了解应用程序扩展的动态情况。

监控请求速率也可以很好地观察峰值。如果某个平时繁忙的API突然之间没有流量了,这可能是一件非常糟糕的事情,要引起注意了。

有一个类似但略有不同的指标是跟踪并发用户的数量。这是另一个有趣的指标,可以看看它的相关性是怎么样的。

6. 应用程序和服务器的CPU

如果服务器上的CPU使用率非常高,你可以确定应用程序的性能出现问题了。服务器和应用程序的CPU使用情况是一个基本并且关键的指标。

几乎所有的服务器和应用程序监控工具都可以跟踪CPU使用情况并提供监控警报。对每个服务器进行跟踪是很重要的,同时也要对所有独立部署的应用程序实例的聚合进行跟踪。

7. 应用程序的可用性

监控和度量应用程序是否在线并且可用是你应该跟踪的关键指标。大多数公司使用这个指标来衡量服务水平协议(SLA)的正常运行时间。

如果你有一个Web应用程序,则可以通过简单的周期性的HTTP检查来监视应用程序的可用性。

Retrace可以每分钟都为你运行这些类型的HTTP“ping”检查。它能够监控响应时间、状态代码甚至查找页面上的特定内容。

8. 垃圾回收

如果你的应用程序是用.NET、C#或其他使用垃圾回收的编程语言编写的,那么你可能会意识到性能问题就可能来自于垃圾回收。

垃圾回收发生时,可能会导致你的进程挂起,并可以使用很多的CPU。

在考虑关键应用程序性能指标时,垃圾回收指标可能不是你考虑的首要事情。这可能是一个隐藏的性能问题,所以请始终留意一下这个指标。

对于.NET来说,你可以通过“% GC时间”这个性能计数器来监视。Java通过JMX指标也具有类似的功能。 Retrace可以使用自己的应用程序指标 功能来监控这些。

评论