寻求一些关于如何处理这个问题的建议。
应用程序将系统中断记录在停用表中。停运包括中断开始和中断结束的日期/时间以及描述。
还有一个连接表,它将中断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×7,则在可用性计算中不应包括凌晨2点至3点之间发生的中断。
如何进行此计算并存储数据(即仅作为停运表本身中的可用性百分比或附加列)?
发布于 2017-10-02 07:12:27
多亏了@ishegg,在这个相关的问题Using PHP Carbon, remove time in seconds where two time periods overlap中,这个问题现在已经解决了。
一旦减去SLA之外的秒数,就可以使用实际持续时间来计算可用性百分比。
https://stackoverflow.com/questions/46498787
复制相似问题