服务器 频道

评测机密:文件服务器性能提升N大要义

什么是SuperFetch

  Fetch,预取技术在Windows XP时代就得到了支持,该功能基于对以前的系统引导以及应用程序的启动执行的大规模磁盘 I/O进行记录,从而向内存预先加载所预期需要用到的代码和文件系统数据,从而改进了系统引导和应用程序启动的性能。Vista 凭借 SuperFetch 又向前迈进了一大步,SuperFetch 是一种通过历史信息和前瞻性内存管理来增强LRA(Least-Recently Accessed,最近最少访问)方法的内存管理方案。

64位Vista下使用8GB内存
过分空余的内存空间即是浪费:Superfetch缓存了近5GB的数据

  Superfetch同时包含了对内存管理和对文件缓存两方面的革新。从NetBench的观点上看,主要用来提升程序引导/运行速度的内存管理器方面的更新并没有涉及到。Superfetch对NetBench性能的提升是在文件缓存方面。简单而言,Superfetch此时的策略就是:把空闲内存充分利用起来,而不是像Windows 2000/XP那样,留着大量空闲内存不用,非得等到需要时再从磁盘里加载,大大降低整体性能。


NetBench测试时Superfetch缓存了560MB的数据,这是因为NetBench测试的文件夹不大的缘故,实际的文件服务器将具有相当多的数据、文件

   在客户端请求网络文件操作的时候,具有Superfetch功能的文件服务器就可以通过直接跳用缓存里面的数据,而不必再进行磁盘I/O,因此性能就得到了较明显的提升。关于Superfetch还有很多功能未介绍到,感兴趣的同学可以看这里:《64位才好用 亿能4GBx2 DDR2800内存套装》,一些更核心的内容可能会在以后相关的文章里出现。

  既然Superfetch在NetBench应用中如此有用,那么我怎么没在Windows Server 2008里面见到呢?别慌,Windows Server 2008也具有这个功能,不过是默认关闭的:


Windows Server 2008:默认关闭的Superfetch服务

  这个功能在2008里面是默认禁用的,在这里将其启动方式设置为“自动”就可以,此外,还需要对注册表进行一些改动——只要把下面#号包含的内容保存为一个.REG注册表文件再执行就可以了:

###################################
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]
"EnablePrefetcher"=dword:00000003
"EnableSuperfetch"=dword:00000003
###################################

   在更改服务、修改注册表之后,只需要重启一次,你的2008服务器就具有Superfetch功能了!

0
相关文章