SQL Server服务器I/O问题的初步诊断

原创 2016年08月29日 19:26:37

目录

SQL Server服务器I/O问题的初步诊断

由于SQL Server数据库是运行在操作系统之上的程序,因此对于I/O问题,可以从两个地方进行抓取:windows性能计数器(注:SQL Server2016已支持Linux上的运行)与SQL Server 动态管理视图

--显示SQL server自上次启动以来所有被使用的数据库文件的延时
--file_ID 可从sp_helpfile
select 
    DB_NAME(DATAbase_ID) as 'database name',
    FILE_ID,
    io_stall_read_ms/num_of_reads as 'avg read transfer/ms',
    io_stall_write_ms/num_of_writes as 'avg write transfer/ms'
from sys.dm_io_virtual_file_stats(-1,-1)
where num_of_reads > 0
        and num_of_writes >0;

从下图可以看出磁盘的读存在一定的延时,若读超过100ms,则基本可确认磁盘存在I/O问题
这里写图片描述

另外更为准确的是从windows性能计数器评估磁盘I/O:

Rule Description Value Source Problem Description
1 Average Disk sec/read 大于20 ms Perfmon object Physical Disk Reads should take 4-8 ms without any IO pressure.
2 Average Disk sec/write 大于20 ms Perfmon object Physical Disk Writes (sequential) can be as fast as 1 ms for transaction log.—如果是用来放LDF文件的磁盘,这个值最好不要大于3毫秒。
3 If Top 2 values for wait stats are any of the following: ASYNCH_IO_COMPLETION/IO_COMPLETION/LOGMGR/WRITELOG/PAGEIOLATCH_x Top 2 Sys.dm_os_wait_stats If top 2 wait_stats values include IO, there is an IO bottleneck. Special care needs to be taken on log file

参考资料

版权声明:本文为博主HyperWang原创文章,使用"CC 署名-非商业性使用-禁止演绎 4.0 国际"进行分享。

LabVIEW I/O服务器创建时的相关问题汇总

OPC Server无法创建和打开相关问题
  • u014786187
  • u014786187
  • 2017年06月19日 16:02
  • 471

SQL Server 2008性能故障排查(三)——I/O

接着上一章:CPU瓶颈 I/O瓶颈(I/O Bottlenecks): SQLServer的性能严重依赖I/O子系统。除非你的数据库完全加载到物理内存中,否则SQLServer会不断地把数据库文件...
  • DBA_Huangzj
  • DBA_Huangzj
  • 2012年07月15日 00:53
  • 12795

MS SQL Server分析数据库的I/O性能

本文介绍了如何通过MS SQL Server提供的一些动态管理视图和函数分析磁盘I/O性能。...
  • dotnetstudio
  • dotnetstudio
  • 2014年05月21日 15:06
  • 2213

TCP/IP网络编程 学习笔记_13 --基于I/O复用的服务端

前言:前面我们讲了多进程的并发服务端,只要有客服端连接请求就会创建新进程,这虽然也是一种解决方案,但创建进程是需要付出极大代价的,这需要大量运算和内存空间,而且每个进程间具有独立的内存空间,所以相互间...
  • u010223072
  • u010223072
  • 2015年08月31日 17:58
  • 1305

缓解 SQL Server has encountered 727 occurrence(s) of I/O requests taking longer than 15 seconds

原文: 点击打开链接 sql server 会记录IO等待时间超过15 seconds的请求,这时application会有 time out 现象,dba需要判断是workload,concu...
  • yenange
  • yenange
  • 2015年11月10日 12:27
  • 1118

SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确

SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:1772,但实际为 0:0)...
  • xjq778
  • xjq778
  • 2015年10月06日 15:29
  • 1181

【解决】SQL Server 检测到基于一致性的逻辑 I/O 错误

数据库:SQL2008背景:新建DB_GZN 恢复数据库备份文件         执行:         select * from VI_MPS_PAPLT          错误提示:      ...
  • sherrysy720
  • sherrysy720
  • 2011年02月13日 10:48
  • 14773

求助SQL Server I/O设备错误!!!

在文件 'D:\data\BooksDB.mdf'  中、偏移量为 0x0000011d10400 的位置执行 读取 期间  ,操作系统已经向 SQL Server 返回了错误1117(由于I/O设备...
  • shuishousuiyue
  • shuishousuiyue
  • 2015年07月29日 15:12
  • 1597

高级DBA之路——《SQL Server 监控和诊断》

编写各大终端的程序员常常有“SQL语言很简单,DBA工作很轻松”的错觉,用惯了SQLite及其扩展框架OrmLite和GreenDAO的Android程序员更是如此,尤其当一个Android程序员看见...
  • dongfeng9ge
  • dongfeng9ge
  • 2016年11月21日 23:28
  • 1040

SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确 解决方案

之前在做sql server数据统计存储过程,统计方式大致是先根据时间范围查询数据,将查询结果存储到临时表中,再对临时表中的数据进行统计,最后删除临时表。由于这个存储过程相对比较复杂,中间做了很多调整...
  • imlmy
  • imlmy
  • 2013年04月15日 11:31
  • 2043
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server服务器I/O问题的初步诊断
举报原因:
原因补充:

(最多只允许输入30个字)