SQL高效运行注意事项(四)
为了SQLSERVER能高效运行,SQLSERVER的磁盘子系统是一个重要的方面
Avg. Disk Sec/Read 这个计数器是指每秒从磁盘读取数据的平均值
下面的列表显示这个计数器值的范围,并指出这个计数器所处范围的意思
少于 10 ms - 非常好
在 10 - 20 ms 之间- 还可以
在 20 - 50 ms 之间- 慢,需要关注
大于 50 ms –严重的 I/O 瓶颈
磁盘性能测试工具
(1)CrystalDiskMark
(2)HDTUNE 硬盘检测修复工具
(3)ATTO Disk Benchmark
磁盘驱动器的位置:
为了不同的目的,你需要使用不同的驱动器来存放下面的东西
独立的磁盘延时需求:
数据库小于15ms
事务日志小于2ms
Tempdb数据库小于2ms
意思是说,Tempdb放在单独的物理磁盘,事务日志文件放在单独的物理磁盘,数据文件放在单独的物理磁盘,操作系统放在单独的物理磁盘,
数据库备份文件放在单独的物理磁盘
一般我们的做法:不可能有那么多单独的物理磁盘,一般就是做了磁盘阵列的存储
C盘放操作系统文件
D盘放数据文件和事务日志文件 和Tempdb数据文件和Tempdb日志文件
E盘放数据库备份文件
当然如果有足够的磁盘和阵列,
建议操作系统文件 机械盘raid1
数据文件 机械盘 raid10
Tempdb数据文件和Tempdb日志文件 放 SSD raid1
事务日志文件 放 SSD raid1
当格式化磁盘的时候,对于要存放SQLSERVER数据文件和日志文件的磁盘,尽量不要使用默认的磁盘分配单元
使用64k 簇大小 Allocation Unit 来格式化磁盘