nfs是否要求服务器性能好,NFS 文件服务器性能优化 | Microsoft Docs

性能优化 NFS 文件服务器

10/16/2017

本文内容

NFS 服务模型

以下部分提供有关用于客户端-服务器通信的 Microsoft 网络文件系统 (NFS) 型号的信息。 由于 NFS v2 和 NFS v3 仍是最广泛部署的协议版本,因此除 MaxConcurrentConnectionsPerIp 之外的所有注册表项都仅适用于 NFS v2 和 NFS v3。

对于 NFS 4.1 协议,不需要进行注册表优化。

NFS 服务模型概述

Microsoft NFS 服务为具有混合 Windows 和 UNIX 环境的企业提供文件共享解决方案。 此通信模型由客户端计算机和服务器组成。 通过重定向程序在服务器上的客户端请求文件上的应用程序 ( # A0) 和 NFS 微型重定向程序 ( # A1) 。 小型重定向程序使用 NFS 协议通过 TCP/IP 发送请求。 服务器通过 TCP/IP 接收来自客户端的多个请求,并将请求路由到本地文件系统 ( # A0) ,该文件将访问存储堆栈。

下图显示了 NFS 的通信模型。

1303c01d1d6d5da4aecca549cb46842d.png

NFS 文件服务器的优化参数

以下 REG _ DWORD 注册表设置可能会影响 NFS 文件服务器的性能:

OptimalReads

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\OptimalReads

默认值为 0。 此参数确定是打开文件以进行文件 _ 随机 _ 访问还是只打开 _ 文件 _ (具体取决于工作负荷 i/o 特征)。 将此值设置为1以强制打开文件以进行文件 _ 随机 _ 访问。 文件 _ 随机 _ 访问会阻止文件系统和缓存管理器进行预提取。

备注

必须仔细评估此设置,因为它可能会对系统文件缓存增长造成潜在影响。

RdWrHandleLifeTime

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\RdWrHandleLifeTime

默认值为 5。 此参数控制文件句柄缓存中 NFS 缓存条目的生存期。 参数是指具有关联的开放 NTFS 文件句柄的缓存条目。 实际生存期约等于 RdWrHandleLifeTime 乘以 RdWrThreadSleepTime。 最小值为1,最大值为60。

RdWrNfsHandleLifeTime

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\RdWrNfsHandleLifeTime

默认值为 5。 此参数控制文件句柄缓存中 NFS 缓存条目的生存期。 参数是指没有关联的开放 NTFS 文件句柄的缓存条目。 NFS 服务使用这些缓存项来存储文件的文件属性,而无需在文件系统中保留打开的句柄。 实际生存期约等于 RdWrNfsHandleLifeTime 乘以 RdWrThreadSleepTime。 最小值为1,最大值为60。

RdWrNfsReadHandlesLifeTime

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\RdWrNfsReadHandlesLifeTime

默认值为 5。 此参数控制文件句柄缓存中 NFS 读取缓存条目的生存期。 实际生存期约等于 RdWrNfsReadHandlesLifeTime 乘以 RdWrThreadSleepTime。 最小值为1,最大值为60。

RdWrThreadSleepTime

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\RdWrThreadSleepTime

默认值为 5。 此参数控制在文件句柄缓存上运行清理线程前等待的时间间隔。 值以计时周期为单位,且不具有确定性。 勾选标记等效于大约100毫微秒。 最小值为1,最大值为60。

FileHandleCacheSizeinMB

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\FileHandleCacheSizeinMB

默认值为 4。 此参数指定文件句柄缓存条目使用的最大内存。 最小值为1,最大值为 1 * 1024 * 1024 * 1024 (1073741824) 。

LockFileHandleCacheInMemory

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\LockFileHandleCacheInMemory

默认值为 0。 此参数指定是否在内存中锁定为 FileHandleCacheSizeInMB 指定的缓存大小分配的物理页。 将此值设置为1可启用此活动。 页面将在内存中锁定 (不会分页到磁盘) ,这会提高解析文件句柄的性能,但会减少应用程序可用的内存。

MaxIcbNfsReadHandlesCacheSize

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\MaxIcbNfsReadHandlesCacheSize

默认值为 64。 此参数指定读取数据缓存每个卷的最大句柄数。 仅在内存超过 1 GB 的系统上创建读取缓存条目。 最小值为0,最大值为0xFFFFFFFF。

HandleSigningEnabled

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\HandleSigningEnabled

默认值为 1。 此参数控制由 NFS 文件服务器提供的句柄是否经过加密。 将其设置为0会禁用句柄签名。

RdWrNfsDeferredWritesFlushDelay

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\RdWrNfsDeferredWritesFlushDelay

默认值为 60。 此参数是一个软超时,用于控制 NFS V3 不稳定写入数据缓存的持续时间。 最小值为1,最大值为600。 实际生存期约等于 RdWrNfsDeferredWritesFlushDelay 乘以 RdWrThreadSleepTime。

CacheAddFromCreateAndMkDir

HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\CacheAddFromCreateAndMkDir

默认值为 1 () 启用。 此参数控制在 NFS V2 和 V3 CREATE 期间打开的句柄是否在文件句柄缓存中保留。 将此值设置为0可禁止在 CREATE 和 MKDIR 代码路径中向缓存添加条目。

AdditionalDelayedWorkerThreads

HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\Executive\AdditionalDelayedWorkerThreads

增加为指定工作队列创建的延迟工作线程数。 延迟的工作线程处理不被视为时间关键的工作项,并且可以在等待工作项时使其内存堆栈分页。 线程数不足会降低工作项的服务速率;如果值过高,则会不必要地消耗系统资源。

NtfsDisable8dot3NameCreation

HKLM\System\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation

Windows Server 2012 和 Windows Server 2012 R2 中的默认值为2。 在 Windows Server 2012 之前的版本中,默认值为0。 此参数确定 NTFS 是否在 8dot3 (MSDOS.SYS) 命名约定中生成长文件名的短名称,以及包含扩展字符集中的字符的文件名。 如果此项的值为0,则文件可以有两个名称:用户指定的名称和 NTFS 生成的短名称。 如果用户指定的名称遵循8dot3 命名约定,则 NTFS 不会生成短名称。 如果值为2,则表示可以按卷配置此参数。

备注

默认情况下,系统卷启用了8dot3。 Windows Server 2012 和 Windows Server 2012 R2 中的所有其他卷默认禁用8dot3。 更改此值不会更改文件的内容,但可以避免创建文件的短名称属性,这也会改变 NTFS 显示和管理文件的方式。 对于大多数文件服务器,建议的设置为 1 (禁用) 。

NtfsDisableLastAccessUpdate

HKLM\System\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate

默认值为 1。 此系统全局交换机通过禁用对上一个文件或目录访问的日期和时间戳的更新来减少磁盘 i/o 负载和延迟时间。

MaxConcurrentConnectionsPerIp

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rpcxdr\Parameters\MaxConcurrentConnectionsPerIp

MaxConcurrentConnectionsPerIp 参数的默认值为16。 最多可将此值增大到8192,以增加每个 IP 地址的连接数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值