|
我有一个具有高 缓冲区I / O 的客户端SQL Server 。" e, _- v4 Y e) ]3 Q, b- ?
我检查了长时间运行的查询,添加了新索引,并且服务器上没有锁。是磁盘问题吗?
4 F3 k" `" ~# j6 p 8 Z! x5 s q4 p+ y( H |9 C
解决方案:
8 g3 ?8 k! ^/ ^1 v8 L 8 Y# N; P# x9 s4 {1 y( n
: v1 V' l! r2 h/ O
: E6 J# h' c1 i
首先尝试检查您的磁盘延迟时间是否在阈值内。
7 b) {$ F5 m, F9 x$ I5 G您可以检查此链接以配置Perfmon:SQL Server磁盘性能指标-第1部分-- w! [% k$ w; u7 \+ S% j. g5 N- e
最重要的磁盘性能指标
; ?2 M9 d) q; a, v. L该链接还提供了一些工具,可以对您的IO进行压力测试并获得报告。; ~ L Y1 H3 q3 x2 b" `
如何使用SQLIOSim实用程序模拟磁盘子系统上的SQL Server活动
- n3 ^# C+ ^& K7 ^如果磁盘IO处于延迟范围内,请尝试查找引起高IO的查询,导致磁盘IO高的原因之一可能是不合适的索引,您可能需要添加正确的索引,以使SQL不会读取不必要的数据. r/ K9 _' L5 Y# f% a# s
另外,您可能会拥有较少的内存,因为内存较少会导致SQL刷新缓冲池缓存。这也会导致IO问题。
" ?* d5 N, W3 y5 W" aDMV检查导致高IO的查询
* O4 @% W! }0 BSELECT TOP 25 cp.usecounts AS [execution_count]
) i3 ], L* S( c% h$ [: Z, b4 o7 N ,qs.total_worker_time AS CPU
& n, D1 ? O# v% Z* @' M ,qs.total_elapsed_time AS ELAPSED_TIME% |, o" M0 [) q1 I, E( W
,qs.total_logical_reads AS LOGICAL_READS; p* ^/ s; f E) M) U5 j
,qs.total_logical_writes AS LOGICAL_WRITES+ k T' J8 b, N; f( k) J- d' U
,qs.total_physical_reads AS PHYSICAL_READS
& W/ j3 v' s' f) D ,SUBSTRING(text, * `: ]2 \: w0 ^
CASE WHEN statement_start_offset = 0 " }/ d- w' y4 J% `; Z+ Z5 E7 u
OR statement_start_offset IS NULL % B0 H6 U+ { X8 d; e
THEN 1
* r; |$ d$ l; B) A* d ELSE statement_start_offset/2 + 1 END, ) b9 ]2 g0 e/ W, v- u5 |
CASE WHEN statement_end_offset = 0
# _6 l7 O2 U9 ~ D OR statement_end_offset = -1
. b, | d( g. E' Z4 k, A OR statement_end_offset IS NULL
. c* _/ b" d) E3 P; h0 ]& y; h THEN LEN(text)
2 I L0 I) O2 o: f- C4 T ELSE statement_end_offset/2 END -
& y; b8 F& E: ?- _ CASE WHEN statement_start_offset = 0
- g$ Y! m/ L4 o OR statement_start_offset IS NULL & n5 {7 G5 y% |* G6 B, L
THEN 1
, o+ _1 m+ @6 p ELSE statement_start_offset/2 END + 1 ; M4 z4 h' [( U) l9 B$ u
) AS [Statement]
: Q7 ^. s3 b8 I8 u8 T- w# G+ NFROM sys.dm_exec_query_stats qs
9 U& b7 ~* ^7 c# w" E% ?: n! c/ V6 c join sys.dm_exec_cached_plans cp on qs.plan_handle = cp.plan_handle
9 S/ ~+ C: X9 w CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st
7 T$ h# U, s/ n5 a$ j& \0 UORDER BY qs.total_logical_reads DESC; |
|