跳转到主内容

如何增加SMB1的同时未处理的Windows客户端请求的最大数量?

Views:
33
Visibility:
Public
Votes:
0
Category:
data-ontap-8
Specialty:
nas
Last Updated:

可不使用  

适用场景

  • ONTAP 9
  • Data ONTAP 7
  • SMB 1

问题和解答

什么是CIFS最大多丛?

为了提高运行效率、Citrix和IIS等某些应用程序会将多个CIFS会话合并到同一个TCP连接中。这些连接称为多路传输连接。 cifs.max_mpx 选项(ONTAP 中为-max-mpx)用于确定ONTAP 可以为每个TCP连接支持多少个未完成的SMB操作。达到该值后、客户端应停止向ONTAP 发送其他SMB命令。 

注意仅限最大MPX 的适用场景 SMB1会话

cifs.max_mpx 选项关联的值不应设置为低于Windows NT默认值50。如果CIFS统计输出显示Max Multiplex大于32、则应增加此数字。

以下是NetApp存储控制器上命令行输出cifs stat -c的部分输出示例:

Max Multiplex = 46, Max pBlk Exhaust = 0, Max pBlk Reserve Exhaust = 0

唯一的合法值为50、126、253、255*和1124。如果未与NetApp客户服务进行明确对话、请勿将此值设置为任何其他值。请注意、不建议将此选项自动设置为高值。高值会占用客户端上的大量资源。如果将此值设置为未经批准的值、则某些客户端会出现发生原因 错误。

注意: 从Data ONTAP 7.3.6和8.0.2开始、选项 cifs.max_mpX 的默认值已更改为255。

选项cifs.max_mpx(仅适用于SMB1会话)值用于控制客户端在初始连接到存储器时传递的数字。更改此值不会影响活动会话。因此、建议仅在CIFS终止时更改此选项。CIFS重新启动后、所有连接都将具有新值。Windows端也有类似的参数、请参见Microsoft文章960259

有关要对IIS服务器进行的更改、请参见Microsoft文章221790

何时增加存储系统上max_mpx的值?

以下情况下、可以增加max_mpx (ONTAP 中为-max-mpx)选项的值:

  • CIFS最大值将超过选项中指定的当前值。
  • Windows客户端在打开MS Office文档时会定期收到消息:"文档已打开"或"文档已写保护"
  • CIFS网络性能较慢
  • Windows客户端无法连接到Windows NT共享
  • cifs.max_mpxCIFS stat 最大多路复用值相同
  • 可能会显示的另一条消息是运行状况检查警告消息: sam.misconfig.badValue.cifsMaxMpx
  • cifs stat输出显示已超过CIFS.max_MPX上设置的最大多路复用值。

CIFS协议会将CIFS.max_MPX值定义为一个双字节字段、可能的值介于0到65535之间。高值会占用连接到存储器的客户端上的大量资源。如果运行的是Windows 2000服务器、终端服务器或工作站、请参见以下知识库文章。

Windows服务器在Windows注册表中有一个与cifs.max_MPX对应的选项。它称为MaxMpxCt。客户端支持的最大值应由Lanman工作 站MaxCmds参数确定。Microsoft在以下知识库文章中详细介绍了更改这些值:
Microsoft知识库810886:Windows Server 2003、Windows XP和Windows 2000 Server中出现"Network Basic Input-Output System (BIOS) command limit has been reached"错误消息

注意:对于给定的客户端和服务器(存储器)对、限制应在这两个值中较低者。

最终、在存储器上设置CIFS.max_MPX的值时、应使用options cifs.max_mpX命令查看已配置设置的输出、并将其与cifs stat命令提供的最大多路传输的操作值进行比较、以了解该值是接近还是超出。

例如、只有在以下情况下、CIFS.max_MPX的值才会增加到1124以上:

  1. 只有Windows 2003及更高版本的操作系统连接到存储器
  2. CIFS stat输出显示正在接近或超过1124的值。
  3. 已执行测试以验证此设置是否不会发生原因 Windows客户端上的其他性能问题。
    注意:未处理的ChangeNotify请求不会计入CIFS统计信息。如果未处理的更改通知请求预计会对CIFS多路复用造成影响、请使用Windows perfmon和track redirectorcurrent命令。
如何增加存储器允许的同时未处理的Windows客户端请求的最大数量:

 

如果将Windows终端服务器与存储器结合使用、请参见知识库文章 What is the recommended tuning for Windows Terminal Server (WTS) CIFS clients?
如果未使用Windows终端服务器且存储器的CIFS会话数过多、请首先在Data ONTAP 信息库中查看适用于您的特定Data ONTAP 版本的选项CIFS.max_MPX手册页或命令参考指南、然后完成以下步骤:

:此操作仅适用于SMB 1连接。

  1. 输入:cifs stat
    %statistics show-periodic -object cifs:vserver -instance vs1 interval 1 -iterations 10 -counter max_commands_outstanding|commands_outstanding (in ONTAP diag mode)
  2. 记录最大多丛值。
  3. 输入: options cifs.max_mpx
    [vserver cifs options show -vserver <vserver_name> -instance (in ONTAP diag mode)]
  4. 记录输出。记下默认值。有关选项的详细信息、请参见options cifs.max_mpX手册页。
  5. 如果步骤1和步骤3中的值相同:
    1. 终止 CIFS :cifs terminate
      [cifs stop (in Clustered Data ONTAP)]
    2. 输入: options cifs.max_mpx 126
      [vserver cifs options modify -vserver <vserver_name> -max-mpx 126 (in ONTAP diag mode)]
    3. 重新启动CIFS: cifs restart
      [cifs start (in Clustered Data ONTAP)]
    4. 在CIFS客户端重新建立连接后、再次执行步骤1到4。
  6. 如果步骤1和步骤3中的值保持不变、请再次执行步骤3、但将 cifs.max_mpx 步骤5中的值ii增加到253。如果问题仍然存在、请将 cifs.max_mpx 此值增加到1124。 

注意:默认情况下、ONTAP 9从255开始。

追加信息

在此处添加您的文本。

 

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.