gpt4 book ai didi

sql - 什么会导致我的客户端服务器上的高缓冲区 I/O?

转载 作者:行者123 更新时间:2023-12-02 09:14:36 24 4
gpt4 key购买 nike

我有一个客户端的 SQL Server 高 缓冲区 I/O .

我检查了长时间运行的查询,添加了新索引,并且服务器上没有锁定。是磁盘问题吗?

以下是 上等待的详细信息事件监视器 :

enter image description here

最佳答案

首先尝试检查您的磁盘延迟是否在阈值内..以下是一些指标..您可能需要看看这些是否适用于您

平均磁盘秒/读取值
enter image description here

平均磁盘秒/写入

enter image description here

您可以查看此链接以配置 Perfmon:SQL Server disk performance metrics – Part 1 – the most important disk performance metrics

此链接还提供工具来对您的 IO 进行压力测试并获取报告。

How to use the SQLIOSim utility to simulate SQL Server activity on a disk subsystem

如果您的磁盘IO在延迟范围内,请尝试查找导致高IO的查询,磁盘IO高的原因之一可能是索引不合适,您可能需要添加正确的索引,以便SQL不会读取不必要的数据

你也可能有更少的内存,因为更少的内存会导致 SQL 刷新缓冲池缓存。这也会导致 IO 问题

DMV to check queries causing high IO

SELECT TOP 25 cp.usecounts AS [execution_count]
,qs.total_worker_time AS CPU
,qs.total_elapsed_time AS ELAPSED_TIME
,qs.total_logical_reads AS LOGICAL_READS
,qs.total_logical_writes AS LOGICAL_WRITES
,qs.total_physical_reads AS PHYSICAL_READS
,SUBSTRING(text,
CASE WHEN statement_start_offset = 0
OR statement_start_offset IS NULL
THEN 1
ELSE statement_start_offset/2 + 1 END,
CASE WHEN statement_end_offset = 0
OR statement_end_offset = -1
OR statement_end_offset IS NULL
THEN LEN(text)
ELSE statement_end_offset/2 END -
CASE WHEN statement_start_offset = 0
OR statement_start_offset IS NULL
THEN 1
ELSE statement_start_offset/2 END + 1
) AS [Statement]
FROM sys.dm_exec_query_stats qs
join sys.dm_exec_cached_plans cp on qs.plan_handle = cp.plan_handle
CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st
ORDER BY qs.total_logical_reads DESC;

关于sql - 什么会导致我的客户端服务器上的高缓冲区 I/O?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48425245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com