我的服务器是 Centos 6.2,规格如下:
2xCPU 16 Core AMD Opteron 6282 SE
64GB RAM
Raid controller H700 1GB cache NV
- 2HD 74GB SAS 15Krpm RAID1 stripe 16k (OS Centos 6.2) sda
- 4HD 146GB SAS 15Krpm RAID10 stripe 16k (ext4 bs 4096, no barriers) sdb -> /vol01
Raid controller H800 1GB cache nv
- MD1200 12HD 300GB SAS 15Krpm RAID10 stripe 256k (For DB Postgres 8.3.18) (ext4 bs 4096, stride 64, stripe-width 384, no barriers) sdc -> /vol02
我正在使用 dd 对 IO 速度进行基准测试,并查看 RAID10 12 磁盘是否执行:
dd if=/dev/zero of=DD bs=8M count=10000 oflag=direct
10000+0 records in
10000+0 records out
83886080000 bytes (84 GB) copied, 126,03 s, 666 MB/s
但如果我删除“oflag = direct”选项获得80MB/秒在读取基准测试中,结果类似:
dd of=/dev/null if=DD bs=8M count=10000 iflag=direct
10000+0 records in
10000+0 records out
83886080000 bytes (84 GB) copied, 79,5918 s, 1,1 GB/s
如果去掉iflag=direct则获得150MB/秒...
我不明白这种巨大的差异,在其他机器上没有这种行为。
我的某些内核参数是否配置错误?
谢谢!
答案1
最后,问题是 Bios 配置错误。我在 BIOS 上将“电源管理”设置为“最大性能”配置文件: DELL电源管理最佳实践
使用此设置,dd 的性能与没有 oflag=direct 相同