SQLIO IOPS 说明

SQLIO IOPS 说明

好的。我们有几个用于 MSSQL 的 PowerEdge Rack 服务器。我有一台服务器有 3 个 SATA RAID 1 阵列。我可以运行 SQLIO 并获得接近 6,000 IOPS。这怎么可能呢?

C:\Program Files (x86)\SQLIO>sqlio.exe -kW -s300 -fsequential -b8 -Fparam.txt
sqlio v1.5.SG
parameter file used: param.txt
    file E:\testfile.dat with 2 threads (0-1) using mask 0x0 (0)
2 threads writing for 300 secs to file E:\testfile.dat
    using 8KB sequential IOs
size of file E:\testfile.dat needs to be: 10737418240 bytes
current file size:      0 bytes
need to expand by:      10737418240 bytes
expanding E:\testfile.dat ... done.
using specified size: 10240 MB for file: E:\testfile.dat
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:  5963.58
MBs/sec:    46.59

这只是使用具有 512 mb 缓存的 PERC。我不明白这在物理上是如何实现的。

答案1

确保测试随机的顺序的读和写。

顺序写入并不罕见(写入事务日志、备份转储),但读取几乎总是随机的,因为如果 SQL 可以预测您想要那部分数据,那么它就已经在 RAM 中了,而且读取通常对人类用户的影响更明显。因此,根据您的应用程序数据库特性,一个可能比另一个更准确。

要记住的另一件事是,您可以使用更多的 RAM 或更快/更大的 RAID 适配器缓存来提高读取性能,但如果您需要提高写入性能,您几乎别无选择,只能购买更多(或更快)的磁盘。

相关内容