Page 26 - 《软件学报》2021年第5期
P. 26
1250 Journal of Software 软件学报 Vol.32, No.5, May 2021
他权值赋予方法有更高的准确性.在 4 种引入的环境扰动中,由于容器网络相关的性能指标曲线与服务性能的
曲线有较高的相似性,识别网络阻塞的准确率相对于其他类型系统扰动更高.在表 10 的实验结果中,基于 3σ检
测的韧性风险影响链路的准确度低于参考文献[64]中故障根因分析的准确度.这是因为基于 3σ的异常检测方
法更适用于寻找时间序列数据中的明显的离群点,而在服务降级发生的过程中,系统性能会较长时间处于性能
较低的状态,无法被识别为异常.
Table 10 Accuracy of causality edge weight assignment methods under different environment disruptions
表 10 不同类型系统环境扰动下各因果关系边权重赋值方法的准确率
赋值方法 本文提出的方法 3σ检测(MicroScope) 阈值(CauseInfer) 直接关联(CloudRanger)
准确度
故障类型
precision 1 recall 1 precision 1 recall 1 precision 1 recall 1 precision 1 recall 1
CPUBurnout 82.38 86.20 39.98 42.00 77.53 81.82 67.87 74.31
MEM overload 89.37 91.23 43.48 44.34 84.56 86.15 79.88 83.22
Disk I/O block 89.39 92.58 43.58 45.52 84.96 89.49 79.91 85.72
Network Jam 94.45 97.22 46.53 48.11 91.67 95.24 89.19 84.52
• 因果关系链路是否能够命中注入的系统环境扰动?
本文中对目标系统的各个服务多次注入了各种类型的系统环境扰动(为了保证各服务和各扰动类型的实
验次数,引入的环境扰动不一定为韧性风险),并验证本文提出的分析方法输出的韧性风险影响链路的准确度.
表 11 为各个服务在不同环境扰动下的得到的影响链路分别在 k=1 和 k=2 情况下的 precision 和 recall 值.从表
11 中可以看出:通过本文提出的韧性风险分析方法对于识别案例研究中所注的各类型环境扰动均有较高的准
确度,且得到的韧性风险影响链路在大部分服务下能够保证 80%以上的准确率,仅对 Shipping 服务施加环境扰
动时链路的准确率相对于其他服务较低.这是由于 Shipping 服务仅会被 Order 服务创建完用户订单后被调用,
且不会调用其他服务.故 shipping 服务的响应时间及成功率不会影响到其他服务,较难产生明显的因果关系.
Table 11 Accuracy of the resilience risk analysis method under different services and disruptions
表 11 各服务在不同类型环境扰动下韧性风险分析方法的准确率
Front-end Catalogue User Carts Orders Shipping Payment
CPUBurnout
precision 1 100 81.82 91.67 80 92.31 33.33 63.64
precision 2 100 81.82 91.67 90 92.31 33.33 63.64
recall 1 100 90 91.67 80 100 33.33 77.78
100 90 91.67 90 100 33.33 77.78
recall 2
MEM Overload
precision 1 100 91.67 100 88.89 100 36.36 75
precision 2 100 92.31 100 88.89 100 36.36 75
recall 1 100 91.67 100 100 100 36.36 75
100 92.31 100 100 100 36.36 75
recall 2
Disk I/O Block
precision 1 100 92.31 100 85.71 100 50 66.67
100 100 100 85.71 100 50 66.67
precision 2
recall 1 100 92.31 100 92.31 100 60 81.82
recall 2 100 100 100 92.31 100 60 81.82
Network Jam
precision 1 100 100 100 91.67 100 66.67 83.33
100 100 100 91.67 100 66.67 83.33
precision 2
recall 1 100 100 100 100 100 66.67 100
recall 2 100 100 100 100 100 66.67 100
实验结果中,有几次环境扰动并没有被准确地识别.通过对这几次实验的服务性能曲线及分析过程中得到
的因果关系图的分析,发现这几次混沌实验在引入环境扰动后并没有产生明显的服务降级,造成在因果关系图
中引入扰动的性能指标节点的因果关系边权重小于其他性能指标节点的因果关系边权重,故在构建的因果关
系链路中排序较后没有输出.没有产生严重服务降级的系统扰动将不会被识别为韧性风险并进一步分析,因此,
实验中根因定位失败的几次环境扰动不会影响本文提出的韧性风险识别和分析方法.