[20250907]使用dmsetup建立模拟慢速设备.txt --//测试需要有时候需要建立模拟慢速设备,以前测试我使用usb盘,实际上效果也不是很好。实际上通过dmsetup的low level logical --//volume management功能建立一个delay的磁盘设备来模拟慢速设备。 --//自己做一些尝试并做一个记录。 1.建立文件: # mkdir /home/oracle/slowdisk # cd /home/oracle/slowdisk # dd if=/dev/zero of=sd0.dd bs=1M count=20 # losetup -f --show /home/oracle/slowdisk/sd0.dd /dev/loop0 # losetup -l NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE /dev/loop0 0 0 0 0 /home/oracle/slowdisk/sd0.dd --//这样文件/home/oracle/slowdisk/sd0.dd关联设备/dev/loop0. --//建立ext2文件系统。 # mkfs -t ext2 /dev/loop0 mke2fs 1.42.9 (28-Dec-2013) Discarding device blocks: done Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 5136 inodes, 20480 blocks 1024 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=20971520 3 block groups 8192 blocks per group, 8192 fragments per group 1712 inodes per group Superblock backups stored on blocks: 8193 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done --//注我没有分区,感觉没有必要,直接使用整个设备。 --//尝试mount看看。 # mkdir -p /mnt/slowdisk/ # mount /dev/loop0 /mnt/slowdisk/ # umount /dev/loop0 --//OK没有任何问题。 2.使用dmsetup: --//先尝试linear方式。 # echo "0 40960 linear /dev/loop0 0" | dmsetup create dm0 -- 0 40960:映射的起始扇区和长度(单位是扇区,512 字节)。 # blockdev --getsz /dev/loop0 40960 --//可以通过blockdev --getsz 获得。 -- linear :Device Mapper 的目标类型,表示线性映射。 -- /dev/loop0 0:底层设备及其起始扇区。 -- 0 是源设备的偏移量 -- dm0:你创建的设备映射名称,之后可通过 /dev/mapper/dm0 访问。 # dmsetup table dm0 0 40960 linear 7:0 0 # dmsetup info dm0 Name: dm0 State: ACTIVE Read Ahead: 256 Tables present: LIVE Open count: 0 Event number: 0 Major, minor: 253, 0 Number of targets: 1 # dmsetup status dm0 0 40960 linear # mount /dev/mapper/dm0 /mnt/slowdisk/ # umount /dev/mapper/dm0 # dmsetup remove dm0 3.使用dmsetup使用延迟模式。 # echo "0 40960 delay /dev/loop0 0 1000" | dmsetup create dm0 --//最后的参数1000表示延迟1000ms即1秒。注意执行时很慢,有点耐心,也许需要将近1分钟才能完成。 # dmsetup table dm0 0 40960 delay 7:0 0 1000 # dmsetup status dm0 0 40960 delay 0 0 --//简单验证: # time tune2fs -l /dev/mapper/dm0 > /dev/null real 0m1.022s user 0m0.001s sys 0m0.003s --//执行需要1秒才完成。 # time dd if=/dev/mapper/dm0 of=/dev/null bs=1k count=4 status=none real 0m1.005s user 0m0.000s sys 0m0.001s # time dd if=/dev/mapper/dm0 of=/dev/null bs=1k count=5 status=none real 0m2.041s user 0m0.001s sys 0m0.001s --//读4K需要1秒,而5K需要2秒。说明1次读取的IO大小4K。 # time mount /dev/mapper/dm0 /mnt/slowdisk/ real 0m30.186s user 0m0.000s sys 0m0.005s --//mount需要30秒完成。 # time umount /dev/mapper/dm0 real 0m2.047s user 0m0.000s sys 0m0.013s 4.取消关联: # dmsetup remove dm0 # losetup -d /dev/loop0 # losetup -l 5.使用测试前可以先采用linear模式建立相关数据文件再关闭数据库,在设置dealy模式启动数据库,或者延迟设置不要这么大,不然真 的很慢。
[20250907]使用dmsetup建立模拟慢速设备.txt
来源:这里教程网
时间:2026-03-03 22:45:07
作者:
编辑推荐:
- [20250907]使用dmsetup建立模拟慢速设备.txt03-03
- [20250908]模拟oradebug request completion等待事件.txt03-03
- [20251010]建立完善tpt的prr.sql脚本.txt03-03
- 商汤科技押注“1+X”:是破局利刃,还是盲目挣扎?03-03
- 数据库管理-第375期 26ai:除了改名,还有什么(20251015)03-03
- MySQL处理并发访问和高负载的关键技术和策略03-03
- Library Cache Lock 等待事件的处理与解析03-03
- [故障处理001] 数据库整体响应缓慢 read by other session03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 商汤科技押注“1+X”:是破局利刃,还是盲目挣扎?
商汤科技押注“1+X”:是破局利刃,还是盲目挣扎?
26-03-03 - 数据库管理-第375期 26ai:除了改名,还有什么(20251015)
数据库管理-第375期 26ai:除了改名,还有什么(20251015)
26-03-03 - 数据库深夜革命,Oracle 26ai重磅发布!
数据库深夜革命,Oracle 26ai重磅发布!
26-03-03 - 位图索引的妙用
位图索引的妙用
26-03-03 - 数据库管理-第366期 Oracle 19c 多租户 ADG 环境的陷阱(20250911)
- 百奥赛图与中国创新药的全球突围
百奥赛图与中国创新药的全球突围
26-03-03 - 大洋集团未来或通过供股集资用于发展AI数字人、RWA架构及购买战略性数字资产
- 实战系列之外部表简化AI数据导入
实战系列之外部表简化AI数据导入
26-03-03 - 实战系列之自动优化向量搜索性能VECTOR_MEMORY_SIZE
实战系列之自动优化向量搜索性能VECTOR_MEMORY_SIZE
26-03-03 - 曹操出行勾勒未来出行的蓝图,开启“天地空一体化”时代
曹操出行勾勒未来出行的蓝图,开启“天地空一体化”时代
26-03-03
