guoxilin
作者guoxilin·2021-07-14 11:09
高级非功能测试专家·某科技公司

混沌工程测试指南-系统时钟不同步

字数 962阅读 1058评论 0赞 0

一、测试目的及背景说明

2021年7月14日凌晨,B站发布消息称,昨晚,B站的部分服务器机房发生故障,造成无法访问。 登上热搜之外,豆瓣、A站疑似也出现了无法正常访问的现象,抛开故障导致商业损失外,这些故障都可以成为热门话题。 
按照 Netflix 的定义,混沌工程是在分布式系统上进行实验的学科, 目的是建立对系统抵御生产环境中失控条件的能力以及信心。 
故障注入实验,是混沌工程实践中常用的一种工程手段,通过引入可控的异常和故障,观察系统的反应和容错,是针对系统各个功能模块有效覆盖的验证。  NTP 时钟同步服务是作为操作系统提供的基础服务之一, 信息流动过程中如果时间不一致可能导致系统出现各种异常; 比如,2012 年闰秒事件导致Reddit、Gawker 等互联网企业Hadoop 等基于Java 的软件遭遇大面积故障 。 另外有一些一些中间件依赖系统时钟来工作;比如 限流中间件Sentinel 允许的最大时间误差是30s,有些系统为了防重放攻击 通过系统时间来判断请求是否是新的 ;

本次实验引入系统时钟向前或者向后跳变1 秒。检查对信息系统运行的程序是否造成的影响。因此测试目的是通过模拟时间旅行,即强制系统时钟彼此不同步。验证系统容错能力,
测试指标要求:
定义系统稳态指标定义是:整体TPS保持平稳 。交易成功率99.99%。
二、测试步骤描述:
1)模拟集群中部分实例节点出现系统时间漂移,手工修改系统时间。
date -s "往回调一段时间"
2)按照混合模型比例,以被测系统最大处理能力的80%作为背景压力。
3)恢复环境,记录测试结果
实验过程发现的问题
客户查询信息查询因日期条件是根据应用服务器系统时间,跟预期的查询结果不符。
故障注入指令说明:
三、整体故障表现:
1)注入故障过程期间业务处理可靠性出现问题,出现部分查询交易跟预期的查询结果不符 ,。
2)对整体吞吐量的影响为整体交易处理能力无明显影响
四、故障影响评估:
主要影响范围:部分查询类交易
故障等级:中
故障发生概率:中
五、针对性优化建议:

目前针对服务器进行时间同步方式主要有两种,一是自己搭建NTP服务器,然后跟互联网上时间服务器做校对,另一种是在服务器上设置定时任务,定期对一个或多个时间服务器进行时间同步。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广