对数据的IO操作,都是写入到数据库文件中,sys.dm_io_virtual_file_stats Returns I/O statistics for data and log files.

sys.dm_io_virtual_file_stats (
{ database_id | NULL }
, { file_id | NULL }
)

io_stall:Total time, in milliseconds, that users waited for I/O to be completed on the file.

size_on_disk_bytes:Number of bytes used on the disk for this file.

1,查看数据库文件的IO和等待IO完成的时间

select vfs.database_id,
    vfs.file_id,
    mf.type_desc as file_type,
    vfs.sample_ms as duration_h,
    vfs.num_of_reads as reads,
    vfs.num_of_bytes_read as read_mb,
    vfs.num_of_bytes_read as avg_read_kb,
    vfs.io_stall_read_ms/vfs.num_of_reads as avg_stall_read_ms,
    vfs.num_of_writes as writes,
    vfs.num_of_bytes_written as written_mb,
    vfs.num_of_bytes_written as avg_writted_kb,
    vfs.io_stall_write_ms/vfs.num_of_writes as avg_stall_write_ms,
    vfs.io_stall/(vfs.num_of_reads+vfs.num_of_writes) as avg_stall_ms,
    ,)) as disk_size_gb,
    ,)) as file_size_gb,
    vfs.file_handle
from sys.master_files mf
CROSS APPLY sys.dm_io_virtual_file_stats(mf.database_id,mf.file_id) as vfs
where mf.database_id=db_id()  --current db
order by avg_stall_read_ms desc ,avg_stall_write_ms desc

2,查看IO pending

select vfs.database_id,
    vfs.file_id,
    pr.io_type,
    sum(pr.io_pending_ms_ticks) as io_pending_ms,
    pr.io_pending
from sys.dm_io_virtual_file_stats(null,null) vfs
inner join sys.dm_io_pending_io_requests as pr
    on vfs.file_handle=pr.io_handle
group by vfs.database_id,
    vfs.file_id,
    pr.io_type,
    pr.io_pending
order by vfs.database_id,
    vfs.file_id

参考doc:

How It Works: sys.dm_io_pending_io_requests

sys.dm_io_virtual_file_stats (Transact-SQL)

sys.dm_io_pending_io_requests (Transact-SQL)

DB的IO统计的更多相关文章

  1. 清除缓存、开启IO统计

    SQL性能优化前期准备-清除缓存.开启IO统计 如果需要进行SQl Server下的SQL性能优化,需要准备以下内容: 一.SQL查询分析器设置: 1.开启实际执行计划跟踪. 2.每次执行需优化SQL ...

  2. SQL性能优化前期准备-清除缓存、开启IO统计

    文章来至:https://www.cnblogs.com/Ren_Lei/p/5669662.html 如果需要进行SQl Server下的SQL性能优化,需要准备以下内容: 一.SQL查询分析器设置 ...

  3. 文件的空间使用和IO统计

    数据库占用的存储空间,从高层次来看,可以查看数据库文件(数据文件,日志文件)占用的存储空间,从较细的粒度上来看,分为数据表,索引,分区占用的存储空间.监控数据库对象占用的硬盘空间,包括已分配,未分配, ...

  4. vc中获取磁盘IO统计计数

    想知道进程读写磁盘的情况,可以获取当前进程或指定进程的IO计数. #include <Windows.h> int get_io_bytes(ULONGLONG * read_bytes, ...

  5. 系统io统计

      $ cat /proc/diskstats sda sda1 sda2 gg- gg- gg- 主号 次号 名称 成功读 合并读 扇区读 读时间   每一列的含义分别为: 第一列为 设备号 (nu ...

  6. 性能调优3:硬盘IO性能

    数据库系统严重依赖服务器的资源:CPU,内存和硬盘IO,通常情况下,内存是数据的读写性能最高的存储介质,但是,内存的价格昂贵,这使得系统能够配置的内存容量受到限制,不能大规模用于数据存储:并且内存是易 ...

  7. 给DB数据表加强制索引

    DB2 数据库会根据DB层的统计值决定 根据查询条件走哪一个索引,某些情况下,由于未知原因,索引会走偏,故程序中可以规定程序走哪一个索引来避免索引走偏的情况发生. 强制走索引的 实例代码如下: SEL ...

  8. Linux 使用iostat分析IO性能

    原文:http://www.cnblogs.com/bangerlee/articles/2547161.html 对于I/O-bond类型的进程,我们经常用iostat工具查看进程IO请求下发的数量 ...

  9. socket.io简单说明及在线抽奖demo

    socket.io简单说明及在线抽奖demo socket.io 简介 Socket.IO可以实现实时双向的基于事件的通信. 它适用于各种平台,浏览器或设备,也同样注重可靠性和速度. socket.i ...

随机推荐

  1. Android 开源项目及其学习

    Android 系统研究:http://blog.csdn.net/luoshengyang/article/details/8923485 Android 腾讯技术人员博客 http://hukai ...

  2. 用ShareSDK 进行第三方分享

    1.首先要先注册自己的appkey在shareSDK官网里面 2.下载shareSDK 文档,可以根据需要下载自己需要的 如图 3.将下载好的shareSDK 解压后加入工程里面 4.添加依赖库 // ...

  3. POJ 3233Matrix Power Series

    妈妈呀....这简直是目前死得最惨的一次. 贴题目: http://poj.org/problem?id=3233 Matrix Power Series Time Limit: 3000MS Mem ...

  4. 如何删除 eclipse debugger 下不用的Java Application

    问题描述:之前写了几个 main 函数 用于测试,现在删除掉了 但是debugger下还存在,看着不爽,想删掉 解决方案: 1.项目--右键 2.删掉就可以了

  5. windows service 1053错误 启动失败

    做项目移植的时候发现一个项目的window service启动失败,最后试出来是启动时间超时 解决办法是给window service设置一个长一点的等待时间,步骤如下: 启动,输入regedit启动 ...

  6. JSON数据和对象

    在js中像数字类型.字符串类型.布尔类型这些都不能再被拆分,属于基本类型.与之相对有一种复杂类型:对象类型,它是本身由多个其他类型组合而成的. 创建对象有两种方法,一.new Object()创建一个 ...

  7. 日常关键字:定时关机、该任务映像已损坏或已篡改.(0x80041321)、ChaZD生词同步扇贝

    我在床上用chinanet网络慢得简直令人发指,12B/S.是的你没有看错,这是我最常看到的网速.但是我最近发现电脑联网开出一个WiFi,在床上用手机上网时,网速会一点提升,可达到1KB/S(⊙﹏⊙) ...

  8. 通用EF框架

    之前我老大去网上找了一个DAL里面操作数据库的通用类: public class DALHelper { public static List<T> Search<T>() w ...

  9. C# 匿名对象随笔

      最新更新请访问: http://denghejun.github.io   C#中匿名对象的一般写法是这样的: object o=new {Name="TestName"}; ...

  10. 如何将Eclipse中的项目迁移到Android Studio 中

    如何将Eclipse中的项目迁移到Android Studio 中 如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的 ...