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

解决方法

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

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

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

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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...