chaosblade-help-zh-CN
  • README
  • blade
  • blade create
  • blade create cpu load
  • blade create disk burn
  • blade create disk fill
  • blade create mem load
  • blade create network delay
  • blade create network dns
  • blade create network drop
  • blade create network loss
  • blade create network corrupt
  • blade create network reorder
  • blade create network duplicate
  • blade create network occupy
  • blade create process kill
  • blade create process stop
  • blade create script delay
  • blade create script exit
  • blade create docker
    • blade create docker cpu
    • blade create docker network
    • blade create docker process
    • blade create docker container
  • blade create k8s
    • blade create k8s node-cpu
    • blade create k8s node-network
    • blade create k8s node-process
    • blade create k8s node-disk
    • blade create k8s pod-pod
    • blade create k8s pod-IO
    • blade create k8s pod-network
    • blade create k8s container-cpu
    • blade create k8s container-network
    • blade create k8s container-process
    • blade create k8s container-container
  • blade prepare jvm
  • blade create jvm
    • blade create jvm delay
    • blade create jvm return
    • blade create jvm script
    • blade create jvm cpufullload
    • blade create jvm OutOfMemoryError
    • blade create jvm CodeCacheFilling
    • blade create jvm throwCustomException
  • blade create servlet
    • blade create servlet delay
    • blade create servlet throwCustomException
  • blade server
  • blade status
  • blade version
Powered by GitBook
On this page
  • 介绍
  • 参数
  • 案例
  • 实现原理
  • 常见问题

Was this helpful?

blade create disk burn

磁盘读写 io 负载实验

介绍

提升磁盘读写 io 负载,可以指定受影响的目录,也可以通过调整读写的块大小提升 io 负载,默认值是 10,单位是 M,块的数量固定为 100,即在默认情况下,写会占用 1000M 的磁盘空间,读会固定占用 600M 的空间,因为读操作会先创建一个 600M 的固定大小文件,预计 3s之内,在创建时写 io 会升高。

验证磁盘 io 高负载下对系统服务的影响,比如监控告警、服务稳定性等。

参数

--path string      指定提升磁盘 io 的目录,会作用于其所在的磁盘上,默认值是 /
--read             触发提升磁盘读 IO 负载,会创建 600M 的文件用于读,销毁实验会自动删除
--size string      块大小, 单位是 M, 默认值是 10,一般不需要修改,除非想更大的提高 io 负载
--timeout string   设定运行时长,单位是秒,通用参数
--write            触发提升磁盘写 IO 负载,会根据块大小的值来写入一个文件,比如块大小是 10,则固定的块的数量是 100,则会创建 1000M 的文件,销毁实验会自动删除

案例

# 在执行实验之前可先观察磁盘 io 读写负载
iostat -x -t 2

# 上述命令会 2 秒刷新一次读写负载数据,截取结果如下
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     2.50    0.00    2.00     0.00    18.00    18.00     0.00    1.25    0.00    1.25   1.25   0.25

# 主要观察 rkB/s、wkB/s、%util 数据。执行磁盘读 IO 负载高场景
blade create disk burn --read --path /home

# 执行 iostat 命令可以看到读负载增大,使用率达 99.9%。执行 blade destroy UID(上述执行实验返回的 result 值)可销毁实验。

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     3.00  223.00    2.00 108512.00    20.00   964.73    11.45   50.82   51.19   10.00   4.44  99.90

# 销毁上述实验后,执行磁盘写 IO 负载高场景
blade create disk burn --write --path /home

# 执行 iostat 命令可以看到写负载增大,使用率达 90.10%。
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00    43.00    0.00  260.00     0.00 111572.00   858.25    15.36   59.71    0.00   59.71   3.47  90.10

# 可同时执行读写 IO 负载场景,不指定 path,默认值是 /
blade create disk burn --read --write

# 通过 iostat 命令可以看到,整个磁盘的 io 使用率达到了 100%
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00    36.00  229.50  252.50 108512.00 107750.00   897.35    30.09   62.70   53.49   71.07   2.07 100.00

实现原理

使用 dd 命令实现

常见问题

Previousblade create cpu loadNextblade create disk fill

Last updated 3 years ago

Was this helpful?