对数据的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. Java RMI之HelloWorld篇

    Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ...

  2. JavaScript读书笔记(一)

    自动类型转换 在JavaScript中,使用 == .=== 和 - 等运算符能够使得类型自动转换. 关于不同类型的值的比较 flase == 0; //true "" == fl ...

  3. 学习angular2

    最近在学angular2,并没有很深入,跟着官网做了一份练习,整理了一下,画了一个简单的结构图.

  4. django 在字符串[str(list)]中精确查找

    1.问题描述 1.1表结构 1.2问题 ref_list为id列表的字符串,需要从ref_list中找出包含指定id的数据(eg id=8).如果实用models.objects.filter(ref ...

  5. js判断地址转向

    <script type="text/javascript"> if (navigator.userAgent.search(/iphone|ipod|ipad|And ...

  6. AJXA!让体验更美好

    AJXA = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 是与服 ...

  7. IOS_反射

    // // PJReflect.m // 新浪微博 // // Created by pj on 14-8-8. // Copyright (c) 2014年 pj. All rights reser ...

  8. 编写一个基本的连接池来实现连接的复用&一些工程细节上的优化

    package it.cast.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQL ...

  9. Mac读取Andriod屏幕截图

    int main(int argc, const char * argv[]) { // insert code here... string str3 = "/Users/Ethan/Do ...

  10. 学习笔记:Hashtable和HashMap

    学了这么些天的基础知识发现自己还是个门外汗,难怪自己一直混的不怎么样.但这样的恶补不知道有没有用,是不是过段时间这些知识又忘了呢?这些知识平时的工作好像都是随拿随用的,也并不是平时一点没有关注过这些基 ...