sql-server – SQL Server上的磁盘时间很长

前端之家收集整理的这篇文章主要介绍了sql-server – SQL Server上的磁盘时间很长前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有专门的sql Server 2008 R2企业版.

设置是:

> D :(数据文件) – 存储在本地ssd磁盘上(与日志文件不同)(raid 10)
> E :(日志文件) – 存储在本地ssd磁盘上(与数据文件不同的磁盘)(raid 1)
> F :(事务日志备份) – 在SAN上存储远程

今天我们将日志文件移动到新磁盘(从F:到E :).从共享卷(F:(SAN))到专用本地磁盘(E :).

然后发生的是“磁盘时间”,“平均传输时间”和“平均磁盘写入队列长度”在我们拥有数据文件(D :)的卷上增加(不在日志文件所在的卷上) ).

数据卷和日志卷不共享磁盘,但它们共享相同的控制器卡.

所有卷的“磁盘空闲时间”都很低.

有人认为控制器卡可能会过载.但是,我们需要更多关于问题所在的想法.

更新:

RAID控制器是DELL PERC H700(512 MB缓存).服务器是DELL R910.

在高峰时段,我们有大约2500笔交易/秒.

自从我们移动日志文件(即使在低流量时间)以来,“磁盘时间” – 计数器一直处于100%.

但是,对于D :(数据文件)和E:(日志文件),“磁盘空闲时间”约为98-99%

我们为数据磁盘和日志磁盘设置了写回缓存.

等待统计数据如下所示:

wait_type                     wait_time_s
---------                     ----------- 
BROKER_TASK_STOP               1283336.21 
FT_IFTS_SCHEDULER_IDLE_WAIT     101357.47 
PAGELATCH_EX                     89712.72 
BROKER_TRANSMITTER               75894.76
XE_TIMER_EVENT                   38778.35
REQUEST_FOR_DEADLOCK_SEARCH      38770.35
sqlTRACE_INCREMENTAL_FLUSH_SLEEP 38767.03 
FT_IFTSHC_MUTEX                  38759.14
LOGMGR_QUEUE                     38632.87
CHECKPOINT_QUEUE                 38382.63
BROKER_EVENTHANDLER              35082.42   
XE_DISPATCHER_WAIT               34396.31  
DISPATCHER_QUEUE_SEMAPHORE       33578.68

解决方法

经过一些更多的研究(检查等待并运行具有高峰流量的站点),上述“问题”实际上不是问题.

当我们删除瓶颈(旧的日志存储)时出现问题.因此,当我们为转换日志获得更快的磁盘时,数据磁盘可以处理更多事务/秒,因此队列长度增加.

它还解释了为什么磁盘空闲时间良好.

对于快速磁盘系统(使用缓存等)而言,“磁盘时间” – 计数器似乎毫无用处.

猜你在找的MsSQL相关文章