热线电话:0598-8259405
你现在的位置是:首页 > 新闻资讯 > 数据库相关> 数据库相关
使用SQLIO评估数据库磁盘性能
发布日期:2012/9/2  关注度:2394次   From:三明天意网络

对于DBA来说,安装SQLServer之前先要了解磁盘的性能,这个很重要。微软提供了SQLIO可以帮助我们在系统安装之前评估磁盘的性能。

1. 下载SQLIO并安装

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=20163

2.修改SQLIO’s 配置文件

如果直接启动SQLIO,它会使用8MB测试文件。由于现在存储的缓存都很大,所以不能真实的测试出性能,这里我将100的值修改为20GB。

打开param.Txt,修改100-20480(最后的100参数表上test文件的大小)
D:\testfile.dat 是要创建的测试文件名。如果你需要创建到其他磁盘,只需要修改这个值比如e:\testfile.dat.

3. 创建测试BAT测试脚本模拟不同的IO模式,保存为test.bat:(随机读写,8KB和64KB四种情况,你可以考虑用各种配置组合测试出磁盘的最佳性能).

 sqlio -kW -t8 -s120 -o8 -frandom -b8 -BH-LS E:\TestFile.dat

sqlio -kR -t8 -s120 -o8 -frandom -b8 -BH-LS E:\TestFile.dat

sqlio -kW -t8 -s120 -o8 -fsequential -b64-BH -LS E:\TestFile.dat

sqlio -kR -t8 -s120 -o8 -fsequential -b64-BH -LS E:\TestFile.dat

 参数含义:

· -kW and -kR: 测试读写
 
· -t8 and -o8: 使用8个线程模拟,因为SQLIO不受限于CPU的数量,所以你可以使用多于CPU数量。
· -s120: 测试持续 120seconds
· -b8 and -b64: 请求IO的大小 8KB/64KB。因为SQL Server随即IO基本都是8KB,但是如果读写数据多的话会多于8KB,所以这里用64KB模拟。
· -frandom and -fsequential: 代表了随即和顺序两种IO模式。 一般的SQL都是使用随即模式,但是备份LOG等使用顺序读写,所以模拟这两种情况。
4. 测试磁盘性能:
 
先做一个10秒钟的测试:
 
sqlio -kW -s10 -fsequential -t8 -o8 -b8 -LS-Fparam.txt timeout /T 10
上面的完成后执行第三步生成的test.bat

5.结果分析:
输出结果如下:

C:\Program Files (x86)\SQLIO>sqlio -kW -t8 -s120 -o8 -frandom -b8 -BH -LS -Fparam.txtsqlio v1.5.SGusing system counter for latency timings, 3579545 counts per secondparameter file used: param.txt file e:\testfile.dat with 2 threads (0-1) using mask 0x0 (0)2 threads writing for 120 secs to file e:\testfile.dat using 8KB random IOs enabling multiple I/Os per thread with 8 outstanding buffering set to use hardware disk cache (but not file cache)using specified size: 20480 MB for file: e:\testfile.datinitialization doneCUMULATIVE DATA:throughput metrics:IOs/sec:  1580.91MBs/sec:    12.35latency metrics:Min_Latency(ms): 0Avg_Latency(ms): 9Max_Latency(ms): 2927histogram:ms: 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24+%:  0 19 62 14  2  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  2

重要的部分已经用红线标出,IOs/sec相当于磁盘的IOPs,MB/s磁盘数据的吞吐量。 底部的可以忽略,这些值表示了磁盘的反应时间。


另外针对于SQLIO的输出结果有一个非常好用的分析工具(SQLIO Analyzer),将SQLIO的结果保存到txt文件,但后导入分析工具。

三明网站建设:http://www.smzwz.com



首  页  |  新闻资讯  |  建站套餐  |  联系我们  |  网站地图  |  网站备案

天意网络技术有限公司   地址:三明市梅列区乾龙新村229幢307室(闽中汽车城内)   
(业务):18020822831  技术部:0598-8259405  闽ICP备14006732号-3
我们的主要服务:三明网站建设 三明网页设计 三明网站制作 三明网站维护 三明网站改版