您的位置:首页 > 数据库

sqlserver的IO性能检查

2015-06-19 08:49 232 查看
这一个月老被一个信息科科长纠缠,原因就是他们的sql server 2008 R2老是定期的写入性能低下。我是这样认为的,但身边的人似乎都不这么想。每每我对那个挂在一个交换机上的网络存储表达担忧时,这科长总不以为然。

直到利用window的“管理工具”上的性能监控提供的信息,他们才把重点放回存储上。

检查三项内容:

1.Average disk sec/read, 平均每个读花的时间,小于10ms表示性能很好,在10ms~20ms之间表示性能可以接受,如果大于20ms,说明存在I/O问题;
2.Average disk sec/write,平均每个写花的时间,小于10ms表示性能很好,在10ms~20ms之间表示性能可以接受,如果大于20ms,说明存在I/O问题。
3.Average disk queue length,在磁盘等待的IO个数,最好在1.5和2以内,如果高于这个值,一般说明IO子系统有一定的问题,但现在普遍使用RAID或者磁盘虚拟化,如果不详细了解具体的I/O子系统配置,很难从这个计数器判断出问题。

再加上sql上的各大文件的类似数值,所有存储在H盘(网络存储)的文件读写时间都超长,问题应该很清楚了

select DB_NAME(vfs.database_id) as 'database name',
smf.physical_name,
CASE WHEN smf.type = 1 THEN 'LOG_FILE' ELSE 'DATA_FILE' END AS DatabaseFile_Type,
vfs.io_stall_read_ms/vfs.num_of_reads as 'Avg read Trans/ms',
vfs.io_stall_write_ms/vfs.num_of_writes as 'Avg write Trans/ms'
from sys.dm_io_virtual_file_stats(-1,-1) vfs
JOIN sys.master_files AS smf
ON VFS.database_id = smf.database_id
AND VFS.file_id = smf.file_id
where num_of_reads>0 and num_of_writes>0



以下是我学习的网页

http://blog.csdn.net/leamonjxl/article/details/6790832

/article/1400797.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: