SQL Server 服务器磁盘测试之SQLIO篇

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:SQL Server 服务器磁盘测试之SQLIO篇      数据库调优工作中,有一部分是需要排查IO问题的,例如IO的速度或者RAID级别无法响应高并发下的快速请求。最常见的就是查看磁盘每次读写的响应速度,通过性能计数器Avg.Disk sec/Read(Write)我们可以很直观的看到他们。
原文: SQL Server 服务器磁盘测试之SQLIO篇

      数据库调优工作中,有一部分是需要排查IO问题的,例如IO的速度或者RAID级别无法响应高并发下的快速请求。最常见的就是查看磁盘每次读写的响应速度,通过性能计数器Avg.Disk sec/Read(Write)我们可以很直观的看到他们。不同的业务,繁忙程度也不同,需要什么样的IO做支撑?难道都用最高配的IO去配置硬件吗?能否通过一些经验和基线来判断当下磁盘环境是否能满足需求呢?

手上有4块 Inter SSD DC S3500 Series 600GB硬盘做成的RAID1两块,我们就拿它来练练手吧!smiley

SQLIO是微软提供的一款IO测试工具,下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20163

下载完毕后,一路Next安装完毕,默认目录是:C:\Program Files (x86)\SQLIO

前期准备工作:

1、为SQLIO.exe排除数据执行保护

          1

2、去掉图示上的勾

         2

下面我们来熟悉一下SQLIO的参数:

-o

Number of outstanding I/O requests per thread. When attempting to determine the capacity of a given volume or set of volumes, start with a reasonable number for this and increase until disk saturation is reached (that is, latency starts to increase without an additional increase in throughput or IOPs). Common values for this are 8, 16, 32, 64, and 128.

Keep in mind that this setting is the number of outstanding I/Os per thread.

每个线程可以发起多个IO请求

-LS

Instructs SQLIO to capture disk latency information. Capturing latency data is recommended when testing a system.

开启该参数打印出磁盘延迟信息,必选项。

-k

Specify either R or W (read or write). Both reads and writes should be tested. Keep in mind that the storage array cache may absorb a good amount of write activity and potentially skew results. Ensure that the duration is long enough to saturate the cache in order to get a true measure of storage capacity.

指定读操作-R或者写操作W

-s

Duration of test (in seconds). For initial tests, running for 5-10 minutes per I/O size is recommended to get a good idea of I/O performance.

每个批次执行的时间,推荐每个size的IO请求运行5-10分钟,单位为秒

-b

Size of the I/O request in kbytes. For random I/O, 8 KB and 64 KB are as many values as are need to be tested. The most common random I/O size for SQL Server is 8 KB. For random I/O, pay close attention to the number of I/Os per second and latency. For sequential I/O, test a range of sizes (4, 8, 16, 32, 64, 128, 256) and pay attention to throughput and latency.

指定读写的IO大小,单位是KB。8KB是SQL Server随机读写最常用的块大小,其次是64KB。

对于随机IO测试,密切注意每秒的IO请求数和延迟;

对于顺序IO测试,多注意每秒的吞吐量和延迟。

-f

Type of I/O to issue. Either ‘random’ or ‘sequential’.

指定IO的请求方式,随机Random或者顺序Sequential

-F

Name of the file that will contain a list of the test file(s) used by SQLIO.

指定SQLIO测试使用的文件

测试目的:

查看不同的卷簇大小(默认4KB/64KB)对SQL Server常用IO操作单位(8KB/64KB)的影响

QQ截图20140410103912

测试热身:

首先,我们先理清几点 Keep in your mind:

1、对于随机Random读写,我们看重的是每秒的IO操作次数,即 IO/sec,IO Operations

2、对于顺序Sequential读写,我们看重的是每秒的吞吐量,即 MB/sec

3、对于SQL Server数据文件,更多的操作是随机读写。

读:SQL Server应客户端查询需求,将不在内存中的记录从磁盘上随机的位置读入内存;写:SQL Server CheckPoint或者Lazy Writer出动时,将SQL Server Buffer Cache中大量的Dirty Page写入磁盘上随机的位置。

4、对于SQL Server日志文件,更多的操作是顺序读写。

读:当进行日志备份或者LogReader工作时,SQL Server将顺序的读取日志。

写:顺序写操作是日志的再正常不过的行为了

5、如下表格,列出了SQL Server常见行为下的IO操作单位大小,可以看到,8KB和64KB依次是SQL Server最常操作的IO单位大小

QQ截图20140415103655

6、SQL Server分配数据的最小单位是8KB,而Windows存储数据也有最小的分配单位,那就是卷簇,而且该值格式化磁盘分区时是可选的,默认值即为4KB。

QQ截图20140415103153

查看指定分区卷簇大小:fsutil fsinfo ntfsinfo d:

QQ截图20140415104414

 

测试过程:

        1、两块分区分别为D盘和E盘,其中D盘簇大小为默认4KB,E盘簇大小为64KB

         2、D盘的测试代码如下:

 
Rem 8KB随机写
sqlio -kW -t8 -s90 -dD -o1 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t16 -s90 -dD -o1 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t32 -s90 -dD -o1 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o1 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o2 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o4 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o8 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o16 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt

Rem 64KB随机写
sqlio -kW -t8 -s90 -dD -o1 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t16 -s90 -dD -o1 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t32 -s90 -dD -o1 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o1 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o2 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o4 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o8 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o16 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt

Rem 8KB随机读
sqlio -kR -t8 -s90 -dD -o1 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t16 -s90 -dD -o1 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t32 -s90 -dD -o1 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o1 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o2 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o4 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o8 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o16 -frandom -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt

Rem 64KB随机读
sqlio -kR -t8 -s90 -dD -o1 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t16 -s90 -dD -o1 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t32 -s90 -dD -o1 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o1 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o2 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o4 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o8 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o16 -frandom -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt

Rem 8KB顺序写
sqlio -kW -t8 -s90 -dD -o1 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t16 -s90 -dD -o1 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t32 -s90 -dD -o1 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o1 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o2 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o4 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o8 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o16 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt

Rem 64KB顺序写
sqlio -kW -t8 -s90 -dD -o1 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t16 -s90 -dD -o1 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t32 -s90 -dD -o1 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o1 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o2 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o4 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o8 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dD -o16 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt

Rem 8KB顺序读
sqlio -kR -t8 -s90 -dD -o1 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t16 -s90 -dD -o1 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t32 -s90 -dD -o1 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o1 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o2 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o4 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o8 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o16 -fsequential -b8 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt

Rem 64KB顺序读
sqlio -kR -t8 -s90 -dD -o1 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t16 -s90 -dD -o1 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t32 -s90 -dD -o1 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o1 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o2 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o4 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o8 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dD -o16 -fsequential -b64 -BH -LS Testfile.dat >>4KB_Cluster_Test.txt

3、E盘测试脚本:
 
Rem 8KB随机写
sqlio -kW -t8 -s90 -dE -o1 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t16 -s90 -dE -o1 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t32 -s90 -dE -o1 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o1 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o2 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o4 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o8 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o16 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt

Rem 64KB随机写
sqlio -kW -t8 -s90 -dE -o1 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t16 -s90 -dE -o1 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t32 -s90 -dE -o1 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o1 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o2 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o4 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o8 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o16 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt

Rem 8KB随机读
sqlio -kR -t8 -s90 -dE -o1 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t16 -s90 -dE -o1 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t32 -s90 -dE -o1 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o1 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o2 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o4 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o8 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o16 -frandom -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt

Rem 64KB随机读
sqlio -kR -t8 -s90 -dE -o1 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t16 -s90 -dE -o1 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t32 -s90 -dE -o1 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o1 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o2 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o4 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o8 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o16 -frandom -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt

Rem 8KB顺序写
sqlio -kW -t8 -s90 -dE -o1 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t16 -s90 -dE -o1 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t32 -s90 -dE -o1 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o1 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o2 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o4 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o8 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o16 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt

Rem 64KB顺序写
sqlio -kW -t8 -s90 -dE -o1 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t16 -s90 -dE -o1 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t32 -s90 -dE -o1 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o1 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o2 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o4 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o8 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kW -t64 -s90 -dE -o16 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt

Rem 8KB顺序读
sqlio -kR -t8 -s90 -dE -o1 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t16 -s90 -dE -o1 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t32 -s90 -dE -o1 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o1 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o2 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o4 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o8 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o16 -fsequential -b8 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt

Rem 64KB顺序读
sqlio -kR -t8 -s90 -dE -o1 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t16 -s90 -dE -o1 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t32 -s90 -dE -o1 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o1 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o2 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o4 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o8 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt
sqlio -kR -t64 -s90 -dE -o16 -fsequential -b64 -BH -LS Testfile.dat >>64KB_Cluster_Test.txt

Note:如果您对当前要测试的磁盘性能比较了解,您可以将每组测试行数控制在4-5行甚至更少,以此来节省测试时间,比如就将  -t 为8、16的测试行删除
 
待所有的测试跑完后,我们使用SqlioAnalyzer这个工具来导入测试结果4KB_Cluster_Test.txt和64KB_Cluster_Test.txt,下载地址: http://www.meauxsoft.com/SqlioAnalyzer.html
安装后,打开 File→Open,找到 txt路径,导入:
QQ截图20140415125622
点击Export按钮,将数据导出为CSV文件
然后只留下每一组中测试值最高的行:
QQ截图20140415130237
整理后得到:
QQ截图20140415141044
 
前面提到过,对于随机IO读写操作,我们着重关注单位时间内的IO操作次数 IO/Sec;
对于顺序IO读写操作,我们着重关注单位时间内的吞吐量 MB/Sec
上图中已经把需要关注的内容用颜色加以区分,接下来为了使展示更易懂,我制作了直方图:
QQ截图20140415142452
 
图中可以很直观的看出,除了sequential_Write_64KB时簇为64KB比8KB稍低外,其它情况下,64KB总是比默认值4KB要有优势。
 
由此也证明了正如SqlioAnalyzer中提示的那样:
当你格式化磁盘的时候,请指定簇大小为 64KB!!
另外NTFS格式的单独的磁盘,对齐方式现在总是为1024KB了,即图中所示的StartingOffset
 
QQ截图20140415143136
测试总结:
      实践是检验真理的唯一标准,您今后在为SQL Server创建磁盘的时候,还使用默认的4KB卷簇大小吗?
       
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
14天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
52 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
24天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
17 0
|
14天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
85 6
|
1天前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
4 0
|
2天前
|
SQL 关系型数据库 MySQL
:“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versi
:“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versi
11 0
|
10天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
20 0
|
14天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
18天前
|
SQL 数据安全/隐私保护
SQL Server 2016安装教程
SQL Server 2016安装教程
21 1
|
18天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
17 1