如何优化Windows服务器磁盘性能

网络整理 - 07-30
在一台服务器的使用上,磁盘往往占据着很重要的位置。服务器磁盘的配置和维护对整个服务器性能方面产生很大影响。

  实际上,优化服务器磁盘的方法只需要花费一点点时间。在这篇文章中,我将会分享一些提高你的服务器磁盘子系统效率的方法。

  注意:几乎所有的服务器都被做了不相同的配置。也就是说,最适合您的组织的磁盘配置和优化技巧可能对另外一个组织的服务器是有害的。唯一的完全优化一台服务器磁盘的方法是去分析,在这台服务器上都运行了哪些应用,并且这些应用在服务器磁盘子系统中占用了多少工作量。

  所以说,在这里是没有办法去提供最全面最完善的方法,来让你的服务器以最优化的性能运行。这篇文章将会带来一些通用方法,通常能够用来提高大多数类型服务器的性能。

  文件布置

  优化服务器性能的一个窍门是去把文件放置在适当的磁盘上。举例来说,Windows Server操作系统通常情况下是被安装在C盘上。在这样的情况下,我推荐将C盘仅用作存放操作系统文件之用,尽管在一些情况下,你也可以将一些其他应用到C盘上而没有对性能产生不好的影响。

  因为操作系统组件会消耗大量的磁盘输入/输出时间,并生成pagefile系统文件,我推荐将它放在一个专属磁盘驱动器(并不是一个专属分区)。这能够防止磁盘输入/输出关联虚拟内存分页而不打断系统其他部分。

  存储到服务器上的任何一个数据通常都应该被存放在一个专属卷上。因为绝大多数的服务器磁盘输入/输出通常同读取数据和写入数据相关联,它通常需要在一个RAID(独立磁盘冗余阵列)阵列上存放数据,类型依赖于你所需要的性能级别和容错控制。RAID(独立磁盘冗余阵列)10阵列常常是一个较好的选择对象,因为他们同RAID 1阵列一样迅速,但却是通过镜像(mirroring)提供容错控制。

  内存

  不管你是否相信,你的系统中内存总数会给磁盘子系统性能带来巨大差异。我已经讨论过在一个专属的磁盘上存放页面文件,以此来将带给系统闲置的虚拟内存页面的影响最小化。虚拟内存的概念是相对于物理内存而言的,当系统的物理内存空间入不敷出时,操作系统便会在硬盘上开辟一块磁盘空间当做内存。

  然而,这个技巧是很差强人意的。首先,磁盘的相应速度甚至比最慢的物理内存还要慢。磁盘的存取速度是在毫秒的数量级上,而物理内存的存取速度是在十亿分之一秒的数量级上。

  另外一个问题是操作系统不能利用存储在虚拟内存上的内存分页。如果操作系统需要去执行在一个内存分页执行一个指令,那首先这个分页必须被移动到物理内存上。这个步骤被称为交换(swapping)或者paging(线性空间到物理地址空间的映射)。

  如果一台服务器的物理内存被装载满了,并且在它需要去访问一个存放在虚拟内存中的内存分页的时候,那在这个时候,服务器将不得不去将一个暂时不用的分页从物理内存中交换到虚拟内存上,以使得物理内存上有空间,能够将需要访问的内存分页从虚拟内存中交换到物理内存上。

  这种分页进程不但只消耗磁盘资源,并且还占用大量的CPU时间和内存。有一些服务器的物理内存往往会去记录哪些分页在随机存储器(RAM)上,哪些分页在虚拟内存上。这就是为什么分页方法是如此的低效。一些分页是正常的,但是过量的分页会严重的制约一个系统的性能。过量的分页会导致不变的磁盘工作(disk activity)。

  减少分页的最好方法是在你的服务器上安装尽可能多的内存。随着服务器中的随机存储器(RAM)数量的增加,相应的,pagefile文件的大小也会增加。然而,在pagefile文件上的系统依赖将会减少。这将会腾出数量相当可观的磁盘处理时间和CPU处理时间。