searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

etcd磁盘压测命令解析

2023-09-01 03:51:50
29
0
压测命令(正确的命令,/data/test这个目录是自己创建,在需要测试的磁盘挂载目录下面创建):
fio --rw=write --ioengine=sync --fdatasync=1 --directory=/data/test --size=22m --bs=2300 --name=mytest
 
压测命令(错误的命令,可能导致磁盘损坏)
fio --rw=write --ioengine=sync --fdatasync=1 --filename=/dev/sda --size=22m --bs=2300 --name=mytest
 
原因如下:
 
       使用fio工具测试磁盘性能是否满足etcd存储需求。获取 etcd 相关的存储性能数据,需要保证 fio 产生的写负载和 etcd 写入 WAL 文件产生的 IO 负载保持一致。这意味着,至少 fio 产生 IO 负载是顺序写入到一个文件中的,其中每次写入由 write 系统调用和 fdatasync 调用组成(etcd源码中也是调用的fdatasync)。 要产生顺序写入,可以通过命令行参数 --rw=write,要确保 fio 写入使用 write 系统调用而不是其他的系统调用,通过命令行参数 --ioengine=sync实现,最后为了保证每次 write 系统调用后调用 fdatasync,指定--fdatasync=1,几乎所有的WAL条目大小都相同:2200-2400字节,因此指定了参数 bs = 2300(bs表示每个fio条目的字节大小),借助strace,同步时间统计数据证实,来自etcd的wal_fsync_duration_seconds与WAL文件描述符的fdatasync调用相匹配。size参数的值,它代表了来自fio的整个I/O负载,这是写入存储的总字节数。它与写入(和fdatasync)系统调用的数量成正比,因为应该有足够的样本来确保有效性,经过计算得出22m字节
 
1.--rw=write:保证顺序写入
2.--ioengine=sync:确保 fio 写入使用 write 系统调用而不是其他的系统调用
3.--fdatasync=1:保证每次 write 系统调用后调用 fdatasync
4.--bs = 2300:几乎所有的WAL条目大小都相同:2200-2400字节
5.--size=22m:确保有足够的样本来保证有效性,经过计算得出22m字节
6.--directory:需要压测的目录
7.--name=mytest:作业名称
 
0条评论
0 / 1000
李****材
5文章数
0粉丝数
李****材
5 文章 | 0 粉丝
原创

etcd磁盘压测命令解析

2023-09-01 03:51:50
29
0
压测命令(正确的命令,/data/test这个目录是自己创建,在需要测试的磁盘挂载目录下面创建):
fio --rw=write --ioengine=sync --fdatasync=1 --directory=/data/test --size=22m --bs=2300 --name=mytest
 
压测命令(错误的命令,可能导致磁盘损坏)
fio --rw=write --ioengine=sync --fdatasync=1 --filename=/dev/sda --size=22m --bs=2300 --name=mytest
 
原因如下:
 
       使用fio工具测试磁盘性能是否满足etcd存储需求。获取 etcd 相关的存储性能数据,需要保证 fio 产生的写负载和 etcd 写入 WAL 文件产生的 IO 负载保持一致。这意味着,至少 fio 产生 IO 负载是顺序写入到一个文件中的,其中每次写入由 write 系统调用和 fdatasync 调用组成(etcd源码中也是调用的fdatasync)。 要产生顺序写入,可以通过命令行参数 --rw=write,要确保 fio 写入使用 write 系统调用而不是其他的系统调用,通过命令行参数 --ioengine=sync实现,最后为了保证每次 write 系统调用后调用 fdatasync,指定--fdatasync=1,几乎所有的WAL条目大小都相同:2200-2400字节,因此指定了参数 bs = 2300(bs表示每个fio条目的字节大小),借助strace,同步时间统计数据证实,来自etcd的wal_fsync_duration_seconds与WAL文件描述符的fdatasync调用相匹配。size参数的值,它代表了来自fio的整个I/O负载,这是写入存储的总字节数。它与写入(和fdatasync)系统调用的数量成正比,因为应该有足够的样本来确保有效性,经过计算得出22m字节
 
1.--rw=write:保证顺序写入
2.--ioengine=sync:确保 fio 写入使用 write 系统调用而不是其他的系统调用
3.--fdatasync=1:保证每次 write 系统调用后调用 fdatasync
4.--bs = 2300:几乎所有的WAL条目大小都相同:2200-2400字节
5.--size=22m:确保有足够的样本来保证有效性,经过计算得出22m字节
6.--directory:需要压测的目录
7.--name=mytest:作业名称
 
文章来自个人专栏
lrc的专栏
5 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0