IO时延故障的注入方法、装置、电子设备及存储介质制造方法及图纸

技术编号:41407165 阅读:22 留言:0更新日期:2024-05-20 19:33
本申请实施例提供了一种IO时延故障的注入方法、装置、电子设备及计算机可读存储介质,涉及云技术领域。该方法包括:创建目标源代码,目标源代码用于执行预设指令,预设指令包括在获得预设请求时,在预设时延后执行目标进程的系统调用,预设请求用于请求访问目标全局偏移GOT表中与IO相关的目标表项;获得目标源代码的可重定位文件,重定位文件包括与预设指令相关的目标函数;获得目标进程的执行权限,将目标函数添加到目标进程的虚拟地址空间,确定目标函数在虚拟地址空间的偏移地址;在目标GOT表中将目标表项的虚拟地址修改为偏移地址,返还目标进程的执行权限。本申请实施例可在云服务的混沌测试中实现进程级别的IO延迟故障注入。

【技术实现步骤摘要】

本申请涉及云,具体而言,本申请涉及一种io时延故障的注入方法、装置、电子设备、计算机可读存储介质及计算机程序产品。


技术介绍

1、在生产环境中,时常会因为磁盘故障,流量突增等原因导致输入输出(inputoutput)延迟,因为开发机和测试集群流量不足难以复现,这种情况很多时候都被开发人员忽略,导致代码漏洞,在上线以后遭遇大流量时使得程序崩溃,给业务造成巨大损失。

2、现有的开源io时延故障的注入方案,一种是基于文件系统粒度的,通常应用于容器中的io时延故障注入,但这种方案粒度较粗,在本地单元测试等场景难以使用;另一种是基于内核模块的忙等的io故障注入,这种方案不但会导致cpu负载上升,需要机器引入debuginfo的依赖而且在极端情况下会导致系统夯住。


技术实现思路

1、本申请实施例提供了一种io时延故障的注入方法、装置、电子设备、计算机可读存储介质及计算机程序产品,可以解决现有技术的上述问题。技术方案如下:

2、根据本申请实施例的一个方面,提供了一种io时延故障的注入方法,该方法包括本文档来自技高网...

【技术保护点】

1.一种输入输出IO时延故障的注入方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述目标源代码包括多个子源代码,不同的子源代码用于在不同运行环境下执行所述预设指令,不同的子源代码基于宏进行区分。

3.根据权利要求1所述的方法,其特征在于,所述获得目标进程的执行权限,包括:

4.根据权利要求1所述的方法,其特征在于,所述将所述目标函数添加到所述目标进程的虚拟地址空间,包括:

5.根据权利要求4所述的方法,其特征在于,所述在目标进程内执行第二预设系统调用,对所述目标进程的虚拟地址空间进行扩展,包括:p>

6.根据权...

【技术特征摘要】

1.一种输入输出io时延故障的注入方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述目标源代码包括多个子源代码,不同的子源代码用于在不同运行环境下执行所述预设指令,不同的子源代码基于宏进行区分。

3.根据权利要求1所述的方法,其特征在于,所述获得目标进程的执行权限,包括:

4.根据权利要求1所述的方法,其特征在于,所述将所述目标函数添加到所述目标进程的虚拟地址空间,包括:

5.根据权利要求4所述的方法,其特征在于,所述在目标进程内执行第二预设系统调用,对所述目标进程的虚拟地址空间进行扩展,包括:

6.根据权利要求1所述的方法,其特征在于...

【专利技术属性】
技术研发人员:李兆龙颜克洲闫恩全朱建平
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1