gpt4 book ai didi

asp.net-mvc - 如何计算应用程序可用性 (SLA)

转载 作者:行者123 更新时间:2023-12-03 03:50:41 26 4
gpt4 key购买 nike

我有标准的 ASP.NET MVC 项目,我需要计算应用程序可用性以找出我们的 SLA level 。所以,我需要为我们的网络应用程序获取类似的东西。

enter image description here

来 self 的托管提供商的信息

System Availability: 99.9860%
Total Uptime: 30d 10h:22m:44s
Total Downtime: 0d 0h:6m:9s
Total Reboots: 3
Mean Time Between Reboots: 10.15 days

但我需要计算应用程序的可用性。所以,问题是

如何正确计算 ASP.NET MVC 应用程序可用性?

也许有人已经实现了这一点,或者有任何建议如何做到这一点,任何帮助将不胜感激。

从哪里开始?

我认为的第一点是Application Insights and availability test 。问题是测试频率的最小值是5分钟。我需要更精确的测量。

接下来,创建一个工具,每秒都会调用我的应用程序并收集信息。结果:大量请求。

另外,从 IIS 或类似的东西获取一些性能计数器。需要调查一下是否可行。

我知道这个问题可能太宽泛,但我没有找到任何有关应用程序可用性实现的信息。您对此有何看法?

最佳答案

如果我要解释所有可以完成的部分会花费很长的时间,所以我会保持简短。

通常,您在服务级别协议(protocol)中定义所有这些详细信息,其中还定义可用性目标(即 99%),其中还包括计划停机时间。 99% 的可用性目标是让应用程序运行及其功能,如文档中所述,最多大约。每年 87.6 小时。这是SLA uptime calculator .

正如您所说,正常间隔是 5 分钟,但如果您可以通过使用外部网站/服务证明供应商不符合要求,您可以计算损失(收入损失、人工成本等)并 claim 从他们。您已经有了业务影响分析 (BIA),我想否则您应该这样做。

好的,现在进入编程/DevOps 部分。我通常会考虑到这一点来开发应用程序/服务,并将其状态报告给第三方服务,例如 NewRelic、Uptrends 或类似服务。作为一个例子,我还为此使用了一个自制的服务,因为准确的要求是在严格的期限内至少每秒一次传送数据。在我的解决方案中,我使用 WebSockets 按照计划、事件或在需要时双向发送数据。这样做的好处是,您可以发送状态(好或坏),比如说每 500 毫秒发送一次,您将在一秒内知道应用程序是否失败(约 499 毫秒 + 500 毫秒)。

使用这样的服务,您可以在一秒钟内测量正常运行时间、感兴趣的自定义事件和可能的错误以及大量其他指标。通常在 5-100 毫秒内,但 WCET/WCRT 很难估计。

为了回答您的问题,您无法使用如此少的测量点来计算应用程序可用性,每 5 分钟一次就覆盖了大约 1 个测量点。每小时 12 秒,你无法从中得到任何可靠的计算。您可以假设测量点之间一切正常,但这称为猜测。我已经实现了每小时 14 400 个测量点,以提供 500 毫秒的精度(银行)。

希望您得到的答案能够帮助您解决问题。

关于asp.net-mvc - 如何计算应用程序可用性 (SLA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53071401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com