请问windows下如何查看计算机的IO性能

SadEmprie 2009-10-23 01:20:05
一台远程Windows服务器上跑的数据库非常慢,所以想看看磁盘的IO性能,请问有什么好的软件么?

多谢了!
...全文
2104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljc007 2009-10-23
  • 打赏
  • 举报
回复
1、控制面板,管理工具,性能,查看IO
2、登陆Oracle控制台,查看IO
huoyanming 2009-10-23
  • 打赏
  • 举报
回复
查看本地磁盘性能perfmon.exe
查看数据库性能需要使用监控工具
企业级的工具可以使用LoadRunner、SiteScope……
  • 打赏
  • 举报
回复
怀疑硬盘的话可以下载些硬盘测试软件试试...比如HD Tach


通常,我们很容易观察到数据库服务器的内存和CPU压力。但是对I/O压力没有直观的判断方法。磁盘有两个重要的参数: Seek time、 Rotational latency。正常的I/O计数为:①1000/(Seek time+Rotational latency)*0.75,在此范围内属正常。当达到85%的I/O计数以上时则基本认为已经存在I/O瓶劲。理论情况下,磁盘的随机读计数为125、顺序读计数为225。对于数据文件而言是随机读写,日志文件是顺序读写。因此,数据文件建议存放于RAID5上,而日志文件存放于RAID10或RAID1中。

下面假设在有4块硬盘的RAID5中观察到的Physical Disk性能对象的部分值:

Avg. Disk Queue Length 12

Avg. Disk Sec/Read .035

Avg. Disk Sec/Write .045

Disk Reads/sec 320

Disk Writes/sec 100

Avg. Disk Queue Length,12/4=3,每块磁盘的平均队列建议不超过2。

Avg. Disk Sec/Read一般不要超过11~15ms。

Avg. Disk Sec/Write一般建议小于12ms。

从上面的结果,我们看到磁盘本身的I/O能力是满足我们的要求的,原因是因为有大量的请求才导致队列等待,这很可能是因为你的SQL语句导致大量的表扫描所致。在进行优化后,如果还是不能达到要求,下面的公式可以帮助你计算使用几块硬盘可以满足这样的并发要求:

Raid 0 -- I/Os per disk = (reads + writes) / number of disks
Raid 1 -- I/Os per disk = [reads + (2 * writes)] / 2
Raid 5 -- I/Os per disk = [reads + (4 * writes)] / number of disks
Raid 10 -- I/Os per disk = [reads + (2 * writes)] / number of disks

我们得到的结果是:(320+400)/4=180,这时你可以根据公式①来得到磁盘的正常I/O值。假设现在正常I/O计数为125,为了达到这个结果:720/125=5.76。就是说要用6块磁盘才能达到这样的要求。

但是上面的Disk Reads/sec和Disk Writes/sec是个很难正确估算的值。因此只能在系统比较忙时,大概估算一个平均值,作为计算公式的依据。另一个是你很难从客户那里得到Seek time、 Rotational latency参数的值,这也只能用理论值125进行计算。

jlwei888 2009-10-23
  • 打赏
  • 举报
回复
优化大师等测试软件能检测!
  • 打赏
  • 举报
回复
还是看数据库的performance吧

6,850

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧