• Wait--使用sys.dm_io_virtual_file_stats来查看IO延迟


    /*============================================================================
      File:     VirtualFileStats.sql
    
      Summary:  sys.dm_io_virtual_file_stats
    
      Date:     March 2011
    
    ------------------------------------------------------------------------------
      Written by Paul S. Randal, SQLskills.com
    
      (c) 2011, SQLskills.com. All rights reserved.
    
      For more scripts and sample code, check out 
        http://www.SQLskills.com
    
      You may alter this code for your own *non-commercial* purposes. You may
      republish altered code as long as you include this copyright and give due
      credit, but you must obtain prior permission before blogging this code.
      
      THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF 
      ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED 
      TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
      PARTICULAR PURPOSE.
    ============================================================================*/
    
    -- Use this script, based on code from Jimmy May
    -- This is what I use on client systems
    SELECT 
        --virtual file latency
        ReadLatency =
            CASE WHEN num_of_reads = 0
                THEN 0 ELSE (io_stall_read_ms / num_of_reads) END,
        WriteLatency =
            CASE WHEN num_of_writes = 0 
                THEN 0 ELSE (io_stall_write_ms / num_of_writes) END,
        Latency =
            CASE WHEN (num_of_reads = 0 AND num_of_writes = 0)
                THEN 0 ELSE (io_stall / (num_of_reads + num_of_writes)) END,
      --avg bytes per IOP
        AvgBPerRead =
            CASE WHEN num_of_reads = 0 
                THEN 0 ELSE (num_of_bytes_read / num_of_reads) END,
        AvgBPerWrite =
            CASE WHEN io_stall_write_ms = 0 
                THEN 0 ELSE (num_of_bytes_written / num_of_writes) END,
        AvgBPerTransfer =
            CASE WHEN (num_of_reads = 0 AND num_of_writes = 0)
                THEN 0 ELSE
                    ((num_of_bytes_read + num_of_bytes_written) / 
                    (num_of_reads + num_of_writes)) END,
                 
        LEFT (mf.physical_name, 2) AS Drive,
        DB_NAME (vfs.database_id) AS DB,
        vfs.*,
        mf.physical_name
    FROM sys.dm_io_virtual_file_stats (NULL,NULL) AS vfs
    JOIN sys.master_files AS mf
        ON vfs.database_id = mf.database_id
        AND vfs.file_id = mf.file_id
    --WHERE vfs.file_id = 2 -- log files
    -- ORDER BY Latency DESC
    -- ORDER BY ReadLatency DESC
    ORDER BY WriteLatency DESC
  • 相关阅读:
    Makefile 一点一滴(三)—— 尝试简单的变量替换
    Makefile 一点一滴(二)—— 输出文件到指定路径
    Makefile 一点一滴(一)—— 从最简单的makefile模板写起
    用fxc.exe编译shader文件(*.fx, *.hlsl)的设置
    全国管理系统
    [原]产品经理和韦小宝
    [原]详细分析 javascript 的内存分配
    [原]看看腾讯是怎么做产品设计分析的 - 腾讯QQ音乐业务产品规划
    [原]Android布局管理器
    [原]ubuntu wubi.exe 直接加载下载好的 amd64.tar.xz
  • 原文地址:https://www.cnblogs.com/TeyGao/p/3524400.html
Copyright © 2020-2023  润新知