交替IO特性
这里对启用交替IO支持和未启用交替IO支持的内存虚拟硬盘做对比测试。
测试平台配置
物理硬盘: HITACHI HTS541616J9SA00
(SATA, 160GB, 5400RPM, cache size: 8MB, cache to host data rate: 150MB/s)
CPU:Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz, 2194 MHz
物理内存:2GB + 2GB,DDR2-667 SDRAM
操作系统:Microsoft Windows XP Professional (32bit) SP3
内存虚拟硬盘采用直接IO方式,均使用系统可识别内存。文件系统使用NTFS,簇大小使用缺省值。由于Atto Disk Benchmark在测试超过1000MB/s的传输率时会有数据溢出的bug,因此这里使用Iometer v2006.07.27测试软件。
数据总大小:150MB
数据块大小:512B,4KB,16KB,32KB,64KB和128KB
测试项目:100%顺序读 (100%顺序写,100%随机读,100%随机写 有类似的结果,这里不列出)
队列深度(# of Outstanding I/Os) :1、2、4
以下是启用和未启用交替IO支持的内存虚拟硬盘在不同队列深度下的传输率和CPU占用率对比测试结果。
注:
Overlapped: 启用交替IO支持
Non-overlapped: 未启用交替IO支持
队列深度(#of OutstandingI/Os): 1
队列深度(#of Outstanding I/Os): 2
队列深度(#of Outstanding I/Os): 4
从以上测试结果中可以看到,在队列深度仅为1的情况下,启用交替IO支持的虚拟硬盘其传输率反而不如未启用该特性的虚拟硬盘,其CPU占用率也相对较低。但是随着队列深度的增加,其传输率大大超过未启用该特性的虚拟硬盘,甚至达到将近2倍。
结论:在支持队列深度大于1的应用中,启用交替IO支持可以更充分的利用系统,达到较高的访问速度。而在普通应用中,不建议开启交替IO支持。

