功能测试 性能测试 安全测试 质量管理 配置管理 测试管理
TD |QC|QTP|LR
磁盘I/O分析(LR)
上一篇 /
下一篇 2008-07-22 06:59:12
/ 精华(1)
/ 置顶(1)
/ 个人分类:LR与性能测试
磁盘 I/O 性能
如果将 SQL Server 配置成仅包含几个千兆字节 (GB) 的数据,且不承担繁重的读或写活动,便没有太大的必要关注磁盘 I/O 主题,以及在硬盘之间平衡 SQL Server I/O 活动以获取最佳性能。但是要建立包含成百上千 GB 字节的数据且/或承担繁重的读和/或写活动的大型 SQL Server 数据库,就有必要在多个硬盘之间平衡负荷,以配置最佳的 SQL Server 磁盘 I/O 性能
`&|3Ksk8^0,}0^IN)J|9u*q*R.W0 标称的磁盘传输率与 SQL Server 的关系51Testing软件测试网%Ac$\EeZ7o
9kr%e{'iF0 优化数据库性能最重要的一个方面是调整 I/O 性能。SQL Server 当然也不例外。除非 SQL Server 运行在一台具有足够大的内存可容纳整个数据库的机器上,否则 I/O 性能将由磁盘 I/O 子系统处理 SQL Server 数据读写的速度来决定。51Testing软件测试网/BJd_ R4V2z#^8O#Kb
qLte'l8N R9V0请记住下面的经验法则:标准的 Wide Ultra SCSI-3 硬盘每秒钟可为Windows和 SQL Server 提供 75 个不连续(随机)的 I/O 操作和 150 个连续的 I/O 操作。这种硬盘的标称传输率在 40 MB/秒左右。请记住更有可能限制数据库服务器的传输率是每秒钟 75/150 I/O,而不是 40 MB/秒。具体演算如下:51Testing软件测试网M%iq7\+oK
51Testing软件测试网N$L4Z"|F%Cf
RX每秒 75 次随机 I/O 操作)X(8 KB 传输)= 每秒 600 KB 51Testing软件测试网-OJc4IQV9`
51Testing软件测试网K6H5R5{)@n 上面的计算表示如果在给定的硬盘上进行严格的随机读或写 SQL Server 操作(单页读和写),有可能该硬盘最高只能达到每秒 600 KB(即每秒 0.6 MB)的处理能力。这比驱动器标定的每秒 40 MB 的 I/O 处理能力要低得多。SQL Server 工作线程、Graphical ShowPlan 和 LazyWrtier 执行 8 KB 传输量的 I/O。
`nu%eP` d051Testing软件测试网Q.`3AGdcv7miZ
p (每秒 150 个连续 I/O 操作)X(8 KB 传输)= 每秒 1,200 KB51Testing软件测试网1T7x'Ed6m7eD&vM]z
51Testing软件测试网Oj3{*D(`mt@ 上面的计算表示如果在给定的硬盘上进行严格的连续读或写 SQL Server 操作(单页读或写),有可能在该硬盘上达到最高每秒 1,200 KB(即每秒 1.2 MB)的处理能力。
p'L4Bw \mp td7zq/T.?0+mci?V:a?x/[Q0(每秒 75 个随机 I/O 操作)X(64 KB 传输)= 每秒 4,800 KB (4.8 MB)51Testing软件测试网4v;b1T1y#[)_Or+u
D-I%r4W } Ss1l?0 上面的计算表示预读的最次方案(假定进行的都是随机 I/O)。请注意即便在完全进行随机 I/O 的情况下,64 KB 传输量仍然可以提供比单页传输率(0.6 和 1.2 MB/s)要好得多的 I/O 磁盘传输率 (4.8 MB/s):
-@
_m4C Wp.Cz051Testing软件测试网
E2?bDY mu(每秒 150 个连续 I/O 操作)X(64 KB 传输)= 每秒 9,600 KB (9.6 MB)
g
`P3cU K051Testing软件测试网\-X~yE1?N)Okr 上面的计算表示如果在给定的硬盘上进行严格的连续读或写 SQL Server 操作,有可能在该硬盘上达到最高每秒 9.6 MB 的 I/O 处理能力。这比随机 I/O 的情况要好得多。SQL Server Read-Ahead Manager 以 64 KB 传输率执行磁盘 I/O,并试图安排读操作,以便连续地(通常也称为“按磁盘顺序”)进行预读扫描。因为 Read-Ahead Manager 的目的是连续地执行 I/O 操作,而进行页拆分可能导致扩展盘区的读取不连续,这就是要消除和防止页拆分的原因。
K6c'q A~*V-Y4E x
zJ0