根据SLA计算系统可用性

时间:2017-09-30 01:39:23

标签: php mysql laravel

寻找有关如何处理此问题的一些建议

应用程序在中断表中记录了系统中断。中断包含中断开始和中断结束的日期/时间以及描述。

还有一个连接表,用于将中断ID与受中断影响的系统ID相关联。

目前,可用性是按24 x 7计算的,具有以下内容:

$agreed_seconds = 24 * 60 * 60 * $availability->report_date->daysInMonth;

$availability = round((($agreed_seconds - $outage->duration) / $agreed_seconds) * 100, 2);

如果系统的可用性SLA仅为营业时间而非24 x 7,则在凌晨2点到凌晨3点之间发生的中断不应包括在可用性计算中。

您将如何进行此计算并存储数据(即仅作为可用性百分比或中断表本身中的其他列)?

1 个答案:

答案 0 :(得分:0)

感谢@ishegg在这个相关问题Using PHP Carbon, remove time in seconds where two time periods overlap中,现在已经解决了这个问题。

一旦减去SLA之外的秒数,就可以使用实际持续时间来计算可用性百分比。