增加硬盘读取/写入速度

当我优化我们所有的服务器时,我注意到大部分的性能瓶颈都与硬盘的读写速度直接相关。

我想知道的是,有没有Windows /registry/设备驱动程序的调整,我可以做些什么来提高硬盘的I / O速度?

(我们所有的服务器都运行Windows 2003或Windows 2008)

所有提示都非常感谢!

谢谢!

确保您的读写caching已启用且足够大。 高速caching使世界上的所有差异。

如果你的RAID是镜像,那么去镜像+剥离会加快速度。 你需要购买更多的驱动器。

RAID 10 15K磁盘,但显然涉及财务费用和重build/迁移练习。

说实话,我会避免过度优化服务器,除非性能瓶颈真的造成问题。 你所做的每一个优化都是某种折衷,你需要问自己,这种折衷是否值得。 有了服务器,我总是乐于接受“足够好,但不一定是恒星”的性能,如果这意味着更好的稳定性和可靠性。

RAID 1(镜像)的本质就是性能。 你想要的速度,那么你将不得不使用RAID 0(条纹)这不是一个真正的select服务器,你想要容错磁盘错误和失败。

我build议不要尝试调整Windows执行I / O的方式,一些聪明的人已经在许多不同的场景下尽可能多地优化它,并且已经进行了大量的思考和testing。

远程副本的另一个增强function是由SMB2文件系统驱动程序srv2.sys发布的stream水线I / O,它是Windows Vista和Windows Server 2008的新增function。与原始SMB实现不同,在networking上发布60 KB I / O, SMB2发布stream水线型64KB I / O,以便在从应用程序接收到大量I / O时,它将同时发出多个64KB I / O,允许数据stream入或stream出远程系统,延迟时间更less。

复制引擎还会发出四个初始I / O,大小从128KB到1MB,具体取决于正在复制的文件的大小,这会触发cachingpipe理器预读线程发出较大的I / O。 在SP1中进行的平台更改为高速cachingpipe理器使其在预读和写后两者中执行较大的I / O。 较大的I / O只能在原来的Vista I / O系统中完成,以支持大于64KB的I / O,这是以前版本Windows的限制。 较大的I / O还可以提高本地副本上的性能,因为磁盘访问和磁盘search次数较less,并且使Cache Manager后写式线程能够更好地跟上内存填充复制文件数据的速度。 这减less了(虽然不一定消除)在拷贝期间导致活动存储器内容被丢弃的存储器压力。 最后,对于远程副本,大I / O让SMB2驱动程序使用stream水线。 高速cachingpipe理器发出的读取I / O的大小是应用程序发出的I / O大小的两倍,在Vista上最高为2MB,在Server 2008上最高为16MB,在Vista上写入高达1MB的I / O在Server 2008上高达32MB。

如果您可以将这些2003服务器切换到2008年,并且运行Vista的客户端,则不会有更快的 I / O,但是您可能会拥有更高效的 I / O。

也就是说,查看其他答案中提到的硬件解决scheme可能更容易也更好。

没有硬性规定。 如果你在便宜的服务器上有廉价的控制器,那么你得到了你所支付的…

我们还需要更多的信息,但是有些问题不在我头顶。

  • 什么是服务器运行? 数据库,文件服务器,DC,交易所等?
  • 你目前的数字是多less? 你认为这是一个好的数字吗?
  • 你是否因为没有足够的内存而分页?
  • 什么RAID控制器确切:是顶线? 它便宜吗? 它是否可升级? PCI 32或64?
  • 你使用的是SCSI吗? 为什么只有10k磁盘如果是这样,如果I / O很重要?
  • 控制器中的最新驱动程序/固件等?
  • 什么服务器规格?