WenJunjie Blog

sysadmin

Disk Speed Test

| Comments

conv=fsync 在dd命令结束前同步数据和元数据(metaData)

conv=fdatasync 在dd命令结束前只同步数据

oflag=direct 使用DirectIO

oflag=sync 使用同步I/O,每次写都要物理写入磁盘

oflag=nonblock 非阻塞I/O, 可以调用不会永远阻塞的 I/O 操作

direct (use direct I/O for data) dsync (use synchronized I/O for data) sync (likewise, but also for metadata)

test command dd bs=1M count=256 if=/dev/zero of=test conv=fdatasync dd bs=1M count=256 if=/dev/zero of=test oflag=dsync dd bs=1M count=256 if=/dev/zero of=test oflag=direct dd bs=1M count=256 if=/dev/zero of=test oflag=sync dd bs=1M count=256 if=/dev/zero of=test oflag=nonblock

Linode CentOS release 6.2 (Final) [root@Linode-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test conv=fdatasync 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.926112 s, 290 MB/s [root@Linode-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=dsync 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.746619 s, 360 MB/s [root@Linode-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=direct 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.296677 s, 905 MB/s [root@Linode-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=sync 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.742054 s, 362 MB/s [root@Linode-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=nonblock 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.484081 s, 555 MB/s

Linode SSD CentOS release 6.5 (Final) [root@Linode-SSD ~]# dd bs=1M count=256 if=/dev/zero of=test conv=fdatasync 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,0.467751 秒,574 MB/秒 [root@Linode-SSD ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=dsync 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,0.574327 秒,467 MB/秒 [root@Linode-SSD ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=direct 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,0.29828 秒,900 MB/秒 [root@Linode-SSD ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=sync 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,0.551949 秒,486 MB/秒 [root@Linode-SSD ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=nonblock 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,0.421991 秒,636 MB/秒

Digital SSD CentOS release 6.4 (Final) [root@DigitalOcean-SSD ~]# dd bs=1M count=256 if=/dev/zero of=test conv=fdatasync 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,1.17245 秒,229 MB/秒 [root@DigitalOcean-SSD ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=dsync 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,1.84996 秒,145 MB/秒 [root@DigitalOcean-SSD ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=direct 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,1.07656 秒,249 MB/秒 [root@DigitalOcean-SSD ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=sync 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,1.70525 秒,157 MB/秒 [root@DigitalOcean-SSD ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=nonblock 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,0.807409 秒,332 MB/秒

Aliyun CentOS release 6.4 (Final) [root@Aliyun-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test conv=fdatasync 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 6.09344 s, 44.1 MB/s [root@Aliyun-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=dsync 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 6.1134 s, 43.9 MB/s [root@Aliyun-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=direct 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 9.23089 s, 29.1 MB/s [root@Aliyun-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=sync 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 7.92477 s, 33.9 MB/s [root@Aliyun-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=nonblock 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 4.94173 s, 54.3 MB/s

GorillaServers CentOS release 6.5 (Final) [root@GorillaServers-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test conv=fdatasync 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,2.47875 秒,108 MB/秒 [root@GorillaServers-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=dsync 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,18.6242 秒,14.4 MB/秒 [root@GorillaServers-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=direct 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,2.69742 秒,99.5 MB/秒 [root@GorillaServers-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=sync 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,21.6532 秒,12.4 MB/秒 [root@GorillaServers-Disk ~]# dd bs=1M count=256 if=/dev/zero of=test oflag=nonblock 记录了256+0 的读入 记录了256+0 的写出 268435456字节(268 MB)已复制,2.32105 秒,116 MB/秒

Linux I/O Performance Tests using dd

smartctl -H /dev/sda smartctl -H /dev/sdb

Comments