Below is how I test it.
The command:
SQLIO -kR -t1 -s30 -f64 -b2 -i64 -BN i:\testfile.dat >> test.txt
Parameters description:
sqlio v1.5.SG
1 thread reading for 30 secs from file C:\RamDisk\Temp\testfile.dat
using 2KB IOs over 128KB stripes with 64 IOs per run
buffering set to not use file nor disk caches (as is SQL Server)
size of file C:\RamDisk\Temp\testfile.dat needs to be: 8388608 bytes
Test result.
Disk | NCQ | Environment | IOs/sec | MBs/sec | Comments |
---|---|---|---|---|---|
Seagate 7200RPM | No | Host, Windows server 2008 R2 | 484 | 0.94 | ST3750640NS |
WD 7200 RPM | Yes | Host | 7,504 | 14.65 | WD1002FBYS |
WD VelociRaptor 10k RPM | Yes | Host | 13,782 | 26.91 | WD1500ADFD |
SSD Intel 520 | N/A | Guest, Windows server 2008 R2 | 7,747 | 15.13 | Hyper-V 2.0 |
SSD Intel 520 | N/A | Guest, Windows server 2000 | 20,244 | 39.54 | Hyper-V 2.0 |
SSD Intel 520 | N/A | Host | 12,646 | 24.70 | Hyper-V 2.0 |
RAM DISK | N/A | Guest, Windows Server 2000 | 20,622 | 40.27 | Dataram RAMDisk v4.0 |
RAM DISK | N/A | Host | 106,945 | 208.87 | Dataram RAMDisk v4.0 |
Conclusions:
- When NCQ is enabled for traditional hard disk, SQLIO is not reliable any more;
- RAM DISK is still much faster than SSD
- Windows server 2000 is much faster than windows server 2008 R2 :-)
- Putting the whole guest OS into RAM Disk doesn't help.
No comments:
Post a Comment