Shutdown Check

搜索文档

查找页面或章节

找到失败的阶段,弄清原因,再决定下一步怎么修。

每次运行 shutdown-check 都会以一个诊断码结束。SC000 表示通过。其他诊断码都指向第一个失败的阶段,你可以直接从服务的相关部分查起,不必读完整条时间线。

查找诊断码

诊断码发生了什么结果
SC000优雅关闭验证通过PASS
SC001端口已被占用FAIL
SC002缺少启动命令FAIL
SC100服务一直未就绪FAIL
SC101服务在就绪前退出FAIL
SC110探测路由一开始就处于活跃状态FAIL
SC111测试请求始终未处于进行中FAIL
SC112在 SIGTERM 前已退出FAIL
SC113SIGTERM 无法送达FAIL
SC114第二次 SIGTERM 无法送达FAIL
SC200进行中的请求未完成FAIL
SC201进行中的请求被中断FAIL
SC202进行中的请求状态码错误FAIL
SC203进行中请求的响应体错误FAIL
SC300服务未按时退出FAIL
SC301服务退出码错误FAIL
SC302退出后端口仍未关闭FAIL
SC310未撤回就绪状态FAIL
SC311排空期间接受了新请求FAIL
SC312请求结束过早,无法测试拒绝FAIL
SC999意外错误FAIL

诊断码是怎么分组的?

范围阶段从这里查起
SC000通过回顾这次测试覆盖了哪些内容
SC0xx启动前检查端口和启动命令
SC1xx启动与测试请求准备检查就绪检查(readiness)、启动确认(start barrier)和信号投递
SC2xx进行中的请求检查未完成的请求能否以预期的响应结束
SC30x进程退出检查截止时间、退出码和子进程
SC31x排空流量检查是否撤回了就绪状态、是否拒绝了新请求
SC999意外错误阅读原始错误,排除手写配置无效的可能

只会报告第一个失败。例如,一个进行中的请求被切断,同时进程的退出码也不对,你会先看到请求的错误。先修复这个错误,重新运行测试,再处理后面的失败。

如何阅读输出?

先看 check failed 之前的最后一个时间线事件,它说明测试进行到了哪一步。然后打开对应诊断码的页面,按顺序执行其中的修复步骤。如果运行在产生 SC 码之前就停止了,请参考故障排查指南。