首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • DeepSeek 3FS源码分析(1) 故障注入

    模拟故障 本文 DeepSeek 3FS 测试用例举例说明 我也也没看太明白 就是FAULT_INJECTION_SET(10, 5);宏函数搞定 一、设计原理 维度 Ceph 方式 3FS 方式 配置方式 • 3FS 的故障注入框架基于 概率触发 + 作用域管理 的设计,通过 folly::RequestContext 实现跨协程的配置传递。 3fs设计特点 1 声明式 API: 通过 FAULT_INJECTION_SET(概率, 次数) 声明故障注入范围,具体故障类型由业务代码决定 2 RAII 自动管理: 利用 C++ 的 RAII 模式 FAULT_INJECTION_SET(10, 5) 是一个用于故障注入测试的宏,它会在当前代码作用域内设置故障注入参数: FaultInjection.h:16 • 第一个参数 (10): 表示故障注入的概率为 DeepSeek 3FS解读与源码分析(3):Storage模块解读 2.

    47910编辑于 2025-11-20
  • 来自专栏腾讯云混沌工程团队

    【云顾问-混沌】PodNode CPU 故障注入

    本文将介绍如何使用混沌工具对 Pod/Node 进行 CPU 负载故障注入,以达到指定的 CPU 负载百分比。 2. 参数 在进行 CPU 负载故障注入时,我们可以通过以下参数来控制: nice:指定 CPU 负载进程的 nice 值(静态优先级),取值范围为[-20, 19]。 3. 案例 3.1 使所有 CPU 核负载达到 80% . chaos-executor attack --target cpu --action burn --flags "percent=80;duration=100" 3.2 使指定的 CPU 核(如 1,3) /chaos-executor attack --target cpu --action burn --flags "core-list=1,3;duration=100" 4.

    1.4K10编辑于 2024-03-15
  • 来自专栏猫头虎博客专区

    故障注入实验:了解如何使用Chaos Engineering的方法,在服务网格中进行故障注入实验

    在这篇博文中,我将带领大家探索如何在服务网格中进行故障注入实验,分享Chaos Engineering的最佳实践,并深入研究服务网格如Istio中的故障注入功能。 引言 混沌工程不仅仅是故意制造故障,而是一种科学的方法,通过故障注入来发现系统中的潜在问题,并验证系统的弹性。 2.1 Istio的故障注入功能 Istio允许我们在服务间的通信中注入故障,如延迟、错误等。 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: ratings spec: hosts 3. 进行混沌实验的步骤 3.1 定义实验目标 明确你希望通过混沌实验验证的假设。 3.2 选择注入的故障类型 根据实验目标,选择合适的故障类型,如延迟、错误等。

    76610编辑于 2024-04-09
  • 来自专栏腾讯云混沌工程团队

    【云顾问-混沌】PodNode 内存高负载故障注入

    本文将介绍如何使用混沌工具对 Pod/Node 进行内存负载故障注入,以达到指定的内存占用百分比。腾讯云混沌演练平台故障动作:标准集群 Pod/普通节点-内存利用率高。 2. 参数 在进行内存负载故障注入时,我们可以通过以下参数来控制: percent:内存使用率,取值是 0 到 100 的整数,默认值为 100。此参数为可选。 3. 案例 3.1 占用 80% 内存 . 为了保护该进程在故障注入期间一直存在,不被杀死,可以打开 oomGuard 保护,降低该进程 oom-kill 权重,优先杀死其他进程。 设置高负载的内存故障注入后,可能会使得机器无法登入与控制,请谨慎使用。 cache 模式:通过挂载 tmpfs 来实现内存占用。

    83410编辑于 2024-03-15
  • 故障注入在软件测试中实际应用

    一、为什么需要故障注入? 基础设施可靠性测试K8s/云平台故障恢复能力 节点宕机、Pod被杀、存储卷丢失 3. 数据层容灾演练验证DB/缓存故障时的数据一致性 主从切换、Redis OOM、慢查询 4. 3次失败后降级为“稍后支付”状态?用户看到友好提示:“支付繁忙,请稍后再试”?监控系统触发P1告警?▶ 实施步骤(使用 ChaosBlade):# 1. 用户发起支付 → 观察订单系统行为# 3. 验证降级逻辑 & 用户提示 & 告警触发# 4. 对账系统检查最终数据一致性 案例3:前端“弱网环境”用户体验测试▶ 目标:验证APP在2G网络下:是否显示“弱网提示”?图片是否懒加载/降级为占位图?关键操作(如提交订单)是否有本地缓存?

    1.5K10编辑于 2025-09-17
  • 来自专栏网络安全技术点滴分享

    Chaos Monkey - 生产环境随机故障注入工具

    Chaos Monkey 随机终止生产环境中运行的虚拟机实例和容器。通过让工程师更频繁地面对故障,激励他们构建更具弹性的服务。

    30010编辑于 2026-04-29
  • 来自专栏Godev

    外包精通--Istio流量管理之故障注入(二)

    本小节演示如何通过故障注入来测试应用的弹性。 1. 创建一个故障注入的规则来延迟来自jason用户的流量。 然而,在productpage页面和reviews服务之间也有一个硬编码超时,编码为3s + 1次重试,共6s。因此,调用productpage来检查超时时间过早,并在6s之后抛出错误。 Istio的故障注入规则可以帮助您在不影响最终用户的情况下识别这些异常。 4. 然而,在reviews v3中已经修复了那个bug,这个reviews:v3服务减少了reviews到ratings的超时,从10s减少到了2.5s,因此它兼容下游productpage的请求。

    99170编辑于 2023-07-31
  • 来自专栏CNCF

    使用服务网格接口和Linkerd进行故障注入

    传统上,你需要在服务代码中添加某种类型的故障注入库,以便进行应用程序故障注入。值得庆幸的是,服务网格为我们提供了一种注入应用程序故障的方法,而无需修改或重新构建我们的服务。 这允许我们以一种与实现无关、跨服务网格工作的方式进行故障注入。 为此,我们首先部署一个只返回错误的新服务。 LATENCY_P50 LATENCY_P95 LATENCY_P99 TCP_CONN authors 1/1 100.00% 6.6rps 3ms 1/1 - - - - - - webapp 3/ 3 100.00% 7.7rps 24ms 91ms 117ms 9 现在我们可以创建错误服务了。

    1.6K20发布于 2019-12-04
  • 来自专栏程序员吾真本

    K8S故障注入混沌工程开源平台ChaosMesh

    可注入的故障 可注入的故障,包括基本资源故障,平台故障和应用故障这3类。 实验工作流 实验工作流,包括编排顺序或并行执行的故障注入实验,查看实验状态和结果,暂停实验,支持用YAML或Web UI定义和管理实验。 可视化操作 可视化操作,包括可以在Web UI上点击鼠标,定义实验的范围、故障注入类型和调度规则,最后能展示实验结果。 安全控制 安全控制,包括使用K8S原生提供的基于角色的访问控制功能,来管理故障注入的使用权限。还可以通过设置命名空间注解,来指定允许进行混沌实验的命名空间,进一步保障对混沌实验的控制。 使用K8S原生提供的基于角色的访问控制功能,来管理故障注入的使用权限。 劣势 只能在K8S集群上使用。否则,就只能使用针对节点进行故障注入实验的附带工具chaosd。 临时执行的实验会无限期地运行。

    76520编辑于 2023-08-15
  • 来自专栏程序员吾真本

    K8S故障注入混沌工程开源平台ChaosMesh

    可注入的故障 可注入的故障,包括基本资源故障,平台故障和应用故障这3类。 实验工作流 实验工作流,包括编排顺序或并行执行的故障注入实验,查看实验状态和结果,暂停实验,支持用YAML或Web UI定义和管理实验。 可视化操作 可视化操作,包括可以在Web UI上点击鼠标,定义实验的范围、故障注入类型和调度规则,最后能展示实验结果。 安全控制 安全控制,包括使用K8S原生提供的基于角色的访问控制功能,来管理故障注入的使用权限。还可以通过设置命名空间注解,来指定允许进行混沌实验的命名空间,进一步保障对混沌实验的控制。 使用K8S原生提供的基于角色的访问控制功能,来管理故障注入的使用权限。 劣势 只能在K8S集群上使用。否则,就只能使用针对节点进行故障注入实验的附带工具chaosd。 临时执行的实验会无限期地运行。

    73730编辑于 2023-08-16
  • 云顾问混沌演练平台:如何精准实现容器负载类故障注入

    腾讯云云顾问混沌演练平台应运而生,通过精准的负载类故障注入,帮助企业提前发现并解决问题,提升系统稳定性。1. 什么是负载类故障注入? 负载类故障注入主要模拟系统在极端资源消耗情况下的表现,例如CPU满载、内存耗尽、IO压力过大等情况。这类故障注入帮助企业验证容器在资源紧张情况下的响应能力和弹性扩展机制。2. 具体步骤如下:动态部署混沌辅助执行Pod: 混沌工程控制平台接收到用户的故障注入请求后,会在目标业务容器所在的节点动态启动一个chaos-helper-pod,这个Pod内置了各种故障注入工具,如CPU 3. 小结腾讯云云顾问混沌演练平台通过其创新的PID迁移机制和独立的辅助执行环境,实现了容器负载类故障注入的精确控制,确保故障注入的效果真实、准确,同时保障了混沌平台自身运行的稳定性,成为企业提升容器应用弹性和可靠性的重要利器

    60121编辑于 2025-05-20
  • 来自专栏陈冠男的游戏人生

    开箱PowerShorter:给国内安全爱好者的故障注入设备

    PowerShorter 是为电压短路故障注入定制的一款专用设备,可实现被测设备的瞬时短路,干扰设备正常运行 戳这里了解什么是故障注入 设备已经上架淘宝啦,直接在淘宝搜索 PowerShorter 就能购买嗷 如果想要控制电磁继电器的话可以使用 RELAY2,执行这两条语句后会听到啪嗒啪嗒的声音,这就是电磁继电器吸合的响动 控制固态继电器通断只需要修改为 RELAY1 即可 同理,控制 GPIO 的方式是: 接下来介绍一下故障注入最重要的参数控制 10ns,然后执行短接 200 * 10ns,最后保持断开 1 * 10ns,如果后续不再操作将一直保持断开状态 这背后实际是控制 MOS 管对 E1 的 + 和 - 进行断开或短接,从而实现电压短路故障注入 然后将 GPIO1 拉高提供一个上升沿将毛刺触发,再看毛刺的状态就已经是 glitched 表示已经毛刺已经打出去了,E1 的 + 和 - 做了一次 200 * 10ns 的短路,红灯也又亮了起来 对于故障注入来说

    87020编辑于 2024-09-25
  • 混沌工程遇上AI Agent:故障注入测试的新目标是谁

    本文讨论的核心问题是:当AI Agent成为系统中的决策节点,混沌工程的故障注入目标清单需要怎么扩展,具体怎么落地。 三、五类新型故障注入目标 根据我们在实际项目中的经验总结,Agent系统需要新增以下五类故障注入: 1. 决策质量退化 场景:LLM API返回的内容在格式上完全正确,但语义偏了。 注入方式: 让第N步工具调用超时,看Agent会不会无限重试导致Token消耗爆炸 让工具返回格式正确但数据过时的结果 模拟工具服务部分可用(5个工具中2个挂了),观察Agent的降级策略 3. 四、面向Agent的混沌实验设计框架 下图展示了一套我们在实践中摸索出的实验流程: 核心区别在于步骤3——传统混沌实验的成功/失败判断基本靠HTTP状态码、延迟P99、错误率这些硬指标。 如果一个物流调度Agent对同一批货物,5次请求给出3种不同路线,这本身就是一个需要告警的信号。 工具调用成功率及分布:不是笼统的成功率,而是按工具粒度拆分。

    27210编辑于 2026-07-28
  • 来自专栏程序员吾真本

    7个检验软件系统稳定性场景的混沌工程故障注入开源工具ChaosBlade

    ChaosBlade可针对多达7个场景开展故障注入实验,但网上官方的中英文文档质量欠佳,内容缺失,真心没有站在一般用户的角度来写,只能通过运行blade命令的help了解究竟有什么功能。 图片 一句话介绍 ChaosBlade是阿里巴巴开源的针对7个检验软件系统稳定性场景的混沌工程故障注入开源工具:主机基础资源、CRI容器、K8S平台、Java应用、C++应用、阿里云平台、其他服务。 场景3:K8S平台 可注入故障包括向K8S平台内容器、node和pod注入故障。 场景4:Java应用 可注入故障包括代码缓存爆满,内存不足,增加延迟,返回特定值,动态执行脚本,抛异常等。 优势 支持多达7个故障注入场景。 劣势 网上的中英文文档描述过于简略。每个功能往往就一句话。只能把工具装上,运行起来,通过help参数,逆向工程来发现有什么功能。 Apache-2.0 license Github点赞数 5.4k 最近发布日期与版本 2023.05: v1.7.2 所属项目 CNCF云原生计算基金会沙箱项目 * * * 你还知道有什么好用的开源故障注入工具

    1.4K00编辑于 2023-08-12
  • 来自专栏喵了个咪的博客空间

    三, 跨语言微服务框架 - Istio官方示例(自动注入.请求路由.流量控制.故障注入)

    基础的Istio环境已经搭建完成,我们需要开始了解Istio提供作为微服务网格的各种机制,也就是本文标题的自动注入.请求路由.故障注入.流量切换,官方很给力的准备的实例项目也不需要大家自己编写demo来进行测试 故障注入 4.1 HTTP延迟故障 在微服务系统中可能表明看上去没有问题,可能存在潜在的弹性文档,当请求压力变大响应时间变长可能会应为一些内部的超时机制不合理等问题导致不可使用,这个时候通过Istio的 Istio 的故障注入规则可帮助您识别此类异常,而不会影响最终用户。 PS : 请注意,这里仅限制用户 “jason” 的失败影响。如果您以任何其他用户身份登录,则不会遇到任何延迟。 4.2 HTTP abort进行故障注入 测试微服务弹性的另一种方法是引入 HTTP abort 故障,如果异常中断那么需要做出对应的处理。 为用户 “jason” 创建故障注入规则发送 HTTP abort > kubectl apply -n istio-test -f istio-1.0.3/samples/bookinfo/networking

    1.2K10发布于 2019-05-26
  • 来自专栏golang算法架构leetcode技术php

    mac 上学习k8s系列(36)istio part IV 内外路由和故障注入

    ✔ IstioOperator: .istio-system checked successfully Checked 14 custom resource definitions Checked 3 networking/virtual-service-reviews-test-v2.yaml virtualservice.networking.istio.io/reviews created 或者进行故障注入 # reviews-v3 Deployment ############################################################################# labels: version: v3 --- apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata destination: host: reviews subset: v1 如何headers的end-user 字段匹配了jason就走v2的reviews 接着我们看下如何做故障注入

    62620编辑于 2022-08-02
  • 来自专栏测试开发技术

    6.2K star!推荐一款开源混沌工程测试平台:Chaos Mesh

    : Chaos Mesh支持多种故障注入方式,包括网络故障、节点故障、磁盘故障等,用户可以根据需求选择合适的故障注入方式进行测试。 灵活的调度策略: 用户可以根据自己的需求定义故障注入的调度策略,包括定时触发、周期性触发等,以便更好地控制故障注入的时机和频率。 3、Chaos Mesh 安装步骤 1、下载 Chaos Mesh:可以从 Chaos Mesh 的 GitHub 仓库中获取最新版本的安装文件。 charts.chaos-mesh.org helm install chaos-mesh chaos-mesh/chaos-mesh --namespace=chaos-testing --version=0.12.0 3、 可以使用以下命令运行实验: chaosctl start network-delay --name my-network-delay 3、监控和观察:可以使用 Chaos Mesh 提供的监控和可观测性功能

    1.3K11编辑于 2024-08-27
  • 来自专栏程序员吾真本

    K8S下Istio就是检验微服务稳定性的混沌工程开源工具

    应该做一个故障注入实验来检验一下。如果在K8S上使用了Istio,那么恭喜你,你已经拥有了简单易用的混沌工程开源工具。 可以使用现有的 Istio 功能(例如虚拟服务和路由规则)来选择故障注入目标。 还可以使用运行状况检查和 Envoy 统计数据来监控故障注入对系统的影响。 故障注入实验利用了 Istio 在网络中的地位来执行实验,而无需添加任何额外的混沌工程工具或功能。 否则,仅仅为了这两种故障注入功能就部署 Istio ,就不值了。优势故障注入功能原生内置于 Istio 中。 无需额外设置。实验以简单的 Kubernetes manifest形式表现。 复现这个问题时,我们把浏览器网速改为 3g 模式,就可以显著提升复现率。

    53940编辑于 2023-08-12
  • 来自专栏k8s技术圈

    蚂蚁开源的云原生混沌工程平台 - ChaosMeta

    ,或者对云上/云下的目标进行管理以及注入故障,都有相应的部署方案可以满足 丰富的故障注入能力,云原生混沌工程 由于蚂蚁集团对攻防演练的高度重视,促成了大规模高频率的演练活动,进而推动了各种各样的故障注入能力建设 当前版本的能力 当前版本发布了:用户界面、故障注入调度引擎、度量引擎、流量注入引擎、单机故障注入工具等组件 用户界面 提供实验编排能力,降低使用门槛(当前版本的界面暂未支持流量注入类型和度量类型节点); monitor:对监控项的值进行预期判断,比如某个机器的 cpu 使用率监控值是否大于90%,默认支持 prometheus pod:对 pod 相关数据进行预期判断,比如某个应用的 pod 实例数是否大于3 127.0.0.1:8080 # 创建一个实验,给lo网卡注入2s网络延迟,10分钟后自动恢复 chaosmetad inject network delay -i lo -l 2s --uid test-fg3g4 -t 10m # 查看实验信息,测试效果 chaosmetad query curl 127.0.0.1:8080 # 人工恢复实验 chaosmetad recover test-fg3g4

    2.7K10编辑于 2023-11-27
  • 来自专栏程序员吾真本

    故障创建与编排更胜一筹的K8S混沌工程开源平台Litmus

    Litmus 2.0关键特性 故障注入实验场景创建与编排 可用以下方式创建实验:实验模板,使用ChaosHub的实验从头自定义,预先创建的 YAML实验。支持故障注入实验调度(并行和顺序执行步骤)。 可安排单次或 Cron定时故障注入场景。可以用例优先级标注故障注入实验。 ChaosHub故障注入实验市场 Litmus拥有ChaosHub这个开源故障注入实验市场,托管 Litmus 所提供的各种故障注入实验。 这些实验是声明性的,并且可以根据需要进行调整。 混沌工程可观测性 可连接数据源(来自任何 Chaos Delegate)并监控故障注入场景。能可视化故障注入场景运行的统计数据和并做数据聚合。可比较两个或多个故障注入场景的观测数据。 故障注入场景管理 支持使用基础设施即代码的 GitOps 实现故障自动注入。允许从自定义镜像服务器(公共和私有)添加镜像。可测量并分析每个故障注入场景的韧性分数。

    72210编辑于 2023-08-16
领券