跳转到主内容

什么是更改通知?为什么响应时间较长?

Views:
16
Visibility:
Public
Votes:
0
Category:
ontap-9
Specialty:
nas
Last Updated:

适用场景

任何 SMB 客户端和存储

问题解答

  • 更改通知是 CIFS/SMB 的一项功能,它会向客户端发送任何文件夹更新。
    • 示例: 如果两个用户打开了相同的文件夹,而一个用户删除了一个文件,则会向已删除文件的第二个用户发送更改通知更新。
    • 这样可以节省 CPU 周期,因为如果文件夹较大,用户无需刷新整个文件夹,只需刷新即可。
  • 仅当所监控的文件夹(例如,在共享上打开 Windows 资源管理器时)发生文件更新时,更改通知才会更新。
  • 响应时间是所监控文件夹更改之间的增量。

追加信息

  • SMB2 更改通知规范 在等待时指向此单独的特定部分:
    • " 请等待,直到满足以下条件:
      • ChangeNotifyEntry.NotifyEventList 中有一个或多个元素。
      • 此变更通知请求是此 Open 中最早的未处理请求。这意味着,同一个 Open 上的多个变更通知请求将按顺序并按先入先出( FIFO )顺序完成。
      • 此操作将按照第 2.1.5.19 节中的说明取消。 "
  • 要减少延迟,请执行以下操作:
    • Cluster::> cifs share properties remove -share-name <share> -vserver <svm> -share-properties changenotify
    • Cluster::> network interface migrate -vserver <svm> -lif <lif>-destination-node <temporary_node> -destination-port <port>
    • Cluster::> network interface revert -vserver <svm> -lif <lif>
    • 注:
      • 删除 CIFS 共享属性不会立即生效
      • 要迁移到其他 CIFS 服务器节点并重置连接,需要迁移 LIF
      • 还原 LIF 将确保其位于主端口上
      • 如果 LIF 不会迁移:
        • Cluster::> set advanced
        • Cluster::*> network interface migrate -force true -vserver <svm> -lif <lif>-destination-node <temporary_node> -destination-port <port>