原文: 第七章——DMVs和DMFs(4)——用DMV和DMF监控磁盘IO

前言:

本文为本系列最后一篇,作为DBA,你必须经常关注磁盘的I/O问题,一旦出现问题,要尽快分析出是什么问题。SQLServer同样提供了一些列与I/O相关的DMO来做监控。

本文介绍如何使用DMO来监控I/O子系统的性能并找到I/O瓶颈。通过本文,可以区分不同数据库的I/O使用模式。一旦发现有数据库的I/O很高,可能需要考虑把数据库迁移到单独的磁盘,或者深入研究I/O产生的问题。

准备工作:

本文将演示如何监控数据库文件的I/O情况,将在SQLServer 2008R2上的AdventureWorks数据库上做演示。

步骤:

1、  打开SQLServer,连到AdventureWorks。

2、  输入以下脚本监控SQLServer实例上的日志文件和数据文件:

SELECT  DB_NAME(VFS.database_id) AS DatabaseName ,MF.name AS LogicalFileName ,MF.physical_name AS PhysicalFileName ,CASE MF.typeWHEN 0 THEN 'Data File'WHEN 1 THEN 'Log File'END AS FileType ,VFS.num_of_reads AS TotalReadOperations ,VFS.num_of_bytes_read AS TotalBytesRead ,VFS.num_of_writes AS TotalWriteOperations ,VFS.num_of_bytes_written AS TotalWriteOperations ,VFS.io_stall_read_ms AS TotalWaitTimeForRead ,VFS.io_stall_write_ms AS TotalWaitTimeForWrite ,VFS.io_stall AS TotalWaitTimeForIO ,VFS.size_on_disk_bytes AS FileSizeInBytes
FROM    sys.dm_io_virtual_file_stats(NULL, NULL) AS VFSINNER JOIN sys.master_files AS MF ON VFS.database_id = MF.database_idAND VFS.file_id = MF.file_id
ORDER BY VFS.database_id DESC

3、  在新窗口输入以下脚本,清空数据缓存:

USE AdventureWorks
GO
DBCC DROPCLEANBUFFERS
GO
SELECT  *
FROM    [Sales].[SalesOrderDetail]
GO

4、  现在再次执行第二步中的脚本,看看情况。

5、  执行下面的语句,查看是否有IO挂起操作:

SELECT  DB_NAME(VFS.database_id) AS DatabaseName ,MF.name AS LogicalFileName ,MF.physical_name AS PhysicalFileName ,CASE MF.typeWHEN 0 THEN 'Data File'WHEN 1 THEN 'Log File'END AS FileType ,PIOR.io_type AS InputOutputOperationType ,PIOR.io_pending AS Is_Request_Pending ,PIOR.io_handle ,PIOR.scheduler_address
FROM    sys.dm_io_pending_io_requests AS PIORINNER JOIN sys.dm_io_virtual_file_stats(DB_ID('AdventureWorks'), NULL)AS VFS ON PIOR.io_handle = VFS.file_handleINNER JOIN sys.master_files AS MF ON VFS.database_id = MF.database_idAND VFS.file_id = MF.file_id
GO

分析:

首先要切记不要随便在正式环境使用DBCC DROPCLEANBUFFERS命令,这个将会在一段时间内严重影响性能。

在本例中,对于sys.dm_io_pending_io_requests可能在本机中会没有数据,因为在单机情况下基本上很少io操作,从而挂起的可能性大大降低,但是在正式环境,多用户连接和操作时,就很有可能发生挂起情况。

上面提到的DMO对查找I/O子系统问题很有帮助,根据这些信息,再进一步找到高I/O的数据库,同时检查所在磁盘的I/O情况。

第七章——DMVs和DMFs(4)——用DMV和DMF监控磁盘IO相关推荐

  1. 第七章——DMVs和DMFs(2)——用DMV和DMF监控索引性能

    原文: 第七章--DMVs和DMFs(2)--用DMV和DMF监控索引性能 本文继续介绍使用DMO来监控,这次讲述的是监控索引性能.索引是提高查询性能的关键性手段.即使你的表上有合适的索引,你也要时时 ...

  2. 第七章——DMVs和DMFs(1)

    第七章--DMVs和DMFs(1) 原文: 第七章--DMVs和DMFs(1) 简介: 从SQLServer2005开始,微软引入了一个名叫DMO(动态管理对象)的新特性,DMO可以分为DMFs(Dy ...

  3. KnockoutJS 3.X API 第七章 其他技术(2) 使用扩展器来增加可观察量(监控属性)

    Knockout observables提供了支持读取/写入值并在值改变时通知订阅者所需的基本功能. 但在某些情况下,您可能希望向可观察者添加其他功能. 这可能包括通过在可观察者前面放置一个可写的计算 ...

  4. 数字图像处理——第七章 小波和多分辨处理

    数字图像处理--第七章 小波和多分辨率处理 文章目录 数字图像处理--第七章 小波和多分辨率处理 写在前面 1 多分辨率处理 1.1 图像金字塔 1.2 多尺度和多分辨率的区别 2 小波 2.1 连续 ...

  5. 现实迷途 第七章 特殊客户

    第七章 特殊客户 注:原创作品,请尊重原作者,未经同意,请勿转载,否则追究责任. 江北一般都是上午待在办公室里,搜集信息或整理以前做过的系统,下午才出去站街招客. 站街站了一段时间后,江北有点不想去了 ...

  6. stm32 工业按键检测_「正点原子STM32Mini板资料连载」第七章 按键输入实验

    1)实验平台:正点原子STM32mini开发板 2)摘自<正点原子STM32 不完全手册(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第七章 按键输入实验 上一章,我们介 ...

  7. 2017上半年软考 第七章 重要知识点

    第七章项目范围管理 []项目范围管理概念 [][]项目范围管理的含义和作用 项目范围管理内容p289 项目范围对项目管理的重要性?p289 [][]项目范围管理的主要过程 项目范围管理的6个过程是? ...

  8. 服务器架构之性能扩展-第七章(8)

    第七章Cacti系统监控邮件报警和压力测试 7.1 Cacti工作原理 原理简单来说,Cacti就是rrdtool的一个forefront,它内置了快速的获数据取工具.优秀的绘图模板以及许多设计精良的 ...

  9. 鸟哥Linux私房菜_基础篇(第二版)_第七章学习笔记

    第七章 Linux文件和目录管理 绝对路径:以"/"开始 相对路径:以非"/"开始 其中,"."代表当前目录,".."代 ...

最新文章

  1. 查看python解释器安装路径
  2. 人工智能行业:人脸识别报告,“刷脸”时代到来
  3. Windows下phpStudy中的Apache无法启动的排查方法
  4. Python Django 自定义Manager(重写父类方法实现自定义逻辑)
  5. 在C语言的函数定义中 如果不需要返回结果,在C语言的函数定义中,如果不需要返回结果,就可以省略return语句...
  6. java sql超过32k_db2 clob类型如何能存储大于32k的字符串
  7. mrc20温控f1什么意思_温控器的“总、高、低”是什么意思?不知道?民熔老电工告诉你...
  8. 活动目录管理中常用的脚本(一)
  9. docker使用网桥网络
  10. DLL导出类避免地狱问题的完美解决方案
  11. [郝斌/王卓]数据结构C语句—链表
  12. 常用编码:Shift_JIS, GBK,EUCKR,Big5,UTF8,CP1252
  13. CDISC STANDARD
  14. EasyUI中combogrid设置onSelect后 获取不到getSelecte问题解决
  15. Minecraft 材质包制作入门 保姆级教程 (一)
  16. hadoop学习-1
  17. 如何在html中制作个人简历表单
  18. MySQL 数据表优化设计(六):id 该如何选择数据类型?
  19. Linux自动巡检脚本
  20. COleDateTime和COleDateTimeSpan类详细分析

热门文章

  1. swoole服务器主动推消息,实现websocket-主动消息推送laravelswoole
  2. 7-24 悄悄关注 (10 分)
  3. 物联网智能家居项目---智能卧室
  4. 使用-辗转相除法-求最大公约数
  5. IP计算机取证,计算机取证1资料.doc
  6. P1638 逛画展(直尺法)
  7. 输入框禁止输入emoji标签
  8. Chrome 好玩的插件
  9. Diccuz!NT的dll版本号控制技巧
  10. [原创]java WEB学习笔记71:Struts2 学习之路-- struts2常见的内建验证程序及注意点,短路验证,非字段验证,错误消息的重用...