Windows SMB压缩在低速或者高延迟环境可以帮助提供性能增益

使用SMB压缩

使用 SMB 压缩,管理员、用户或应用程序能够在文件通过网络传输时请求压缩文件。 这样一来,将无需首先使用应用程序手动压缩文件、复制文件,然后在目标计算机上解压缩文件。
压缩文件将消耗更少的网络带宽并花费更少的时间进行传输,但在传输过程中 CPU 使用率会略微增加。 SMB 压缩在带宽较少的网络上使用效果会更加明显。

Windows 中的 SMB 压缩特征

Windows 中的 SMB 压缩具有以下特征:

  • 支持压缩算法 XPRESS (LZ77)、XPRESS Huffman (LZ77+Huffman)、LZNT1 或 PATTERN_V1*。
  • 自动使用 XPRESS
  • 在 Windows Server 2025 上支持 LZ4 压缩算法
  • 支持 SMB 签名和 SMB 加密
  • 支持基于 QUIC 的 SMB
  • 支持 SMB 多通道
  • 不支持基于 RDMA 的 SMB 直通

SMB压缩使用条件

文件服务器工作负载中使用 SMB 压缩,需要以下各项:

  • 运行 Windows Server 2022 的文件服务器
  • Windows 11 的计算机

配置 SMB 压缩

可以从客户端和服务器角度配置 SMB 压缩。 客户端和服务器不引用特定版本(如 Windows Server 2022 或 Windows 11 版本 24H2),而是指两台计算机之间文件传输的体系结构。 Windows Server 2022 和 Windows 11 都支持作为 SMB 压缩的客户端或服务器。
换句话说就是Windows 2022 - Windows 11,Windows 2022 - Windows 2022,Windows 11 - Windows 11都支持。

对文件共享进行 SMB 压缩

以管理员身份打开PowerShell 命令提示符。
创建一个新的压缩共享:

New-SmbShare -Name "File" -Path "C:\File" -CompressData $true

对现有的共享进行压缩请求

Set-SmbShare -Name "File" -CompressData $true

SMB客户端默认启用压缩

若要使 SMB 客户端默认压缩文件:

Set-SmbClientConfiguration -RequestCompression $true

SMB服务器默认启用压缩

要使 SMB 服务器始终尝试压缩文件:

Set-SmbServerConfiguration -RequestCompression $true

SMB客户端默认不启用压缩

若要始终不允许 SMB 客户端压缩文件,而不考虑任何其他请求:

Set-SmbClientConfiguration -DisableCompression $true

SMB服务器默认不启用压缩

要始终不允许 SMB 客户端压缩文件,而不考虑任何其他请求:

Set-SmbServerConfiguration -DisableCompression $true

SMB压缩能够帮助解决的问题

Windows SMB(Server Message Block)压缩功能主要用于在网络传输过程中减少数据量,从而在一定程度上缓解网络带宽的压力并加快文件传输速度,特别是在低速或高延迟的网络环境中。以下是SMB压缩能够帮助解决的一些主要问题:

  1. 减少网络带宽使用:通过压缩文件数据,可以显著减少需要通过网络传输的数据量。这对于网络资源有限或者网络成本较高的环境特别有用。

  2. 加速文件传输:尽管压缩和解压过程本身会消耗一定的计算资源,但在某些情况下(特别是当网络速度远低于处理器处理能力时),启用压缩可以缩短大文件的传输时间。

  3. 改善远程访问体验:对于远程桌面服务(如RDP)或云服务中的文件访问,启用SMB压缩可以提升用户体验,因为减少了数据传输量意味着更少的等待时间和更快的应用程序响应速度。

  4. 跨广域网(WAN)效率:在跨地理位置的数据中心之间传输数据时,由于可能存在较大的网络延迟,使用SMB压缩可以帮助优化这些连接上的性能。

值得注意的是,是否开启SMB压缩应该基于具体的应用场景来决定。

例如,在高速局域网(LAN)环境下,可能不需要也不建议开启此功能,因为此时压缩带来的额外CPU开销可能会超过其带来的好处。

而在低速或高延迟的网络环境中,SMB压缩则可能提供明显的性能增益。

此外,不同的文件类型对压缩的效果也不同,文本文件通常可以获得较好的压缩比,而已经高度压缩过的文件(如JPEG图像、MP4视频等)则不会有太大变化。

参考资源链接:[SMB2协议详解:微软ServerMessageBlock v2规范](https://wenku.csdn.net/doc/4qfjksfug4?utm_source=wenku_answer2doc_content) 在Samba共享环境中应用SMB2协议,首先需要了解其核心的性能和安全特性。SMB2协议通过引入批量请求、压缩功能、多通道支持、缓存管理优化、目录枚举改进以及安全性增强等特性,大幅提升了文件共享的效率和安全性。要实现这些特性,你需要在Samba服务器上正确配置SMB2协议,并确保客户端支持SMB2协议。 为了提高性能,你可以开启SMB2的多通道支持,允许通过多个物理连接并行传输数据,从而提升带宽利用和连接的可靠性。同时,启用压缩功能可以在网络带宽受限的情况下减少数据传输的开销。 在安全方面,确保使用强身份验证机制,如Kerberos,以防止未授权访问。SMB2还支持加密通信,例如使用SMB3加密,以保护数据在传输过程中的安全。 实际操作中,可以通过配置smb.conf文件来启用SMB2和SMB3的支持,并根据需要调整各种性能相关的参数。例如,设置min protocol选项为 SMB2_02以启用SMB2.0.2,设置max protocol选项为 SMB3以启用SMB3加密。同时,可以利用server multi channel support和server min protocol等设置来优化通信。 为了深入理解和实施SMB2协议,推荐阅读《SMB2协议详解:微软ServerMessageBlock v2规范》。这本书详细解释了SMB2协议的技术细节,包括协议规范、命令格式等,并提供了实现该协议的具体指南。通过学习这份资料,你可以更全面地掌握SMB2协议的实现和优化方法,确保你的Samba共享环境既安全又高效。 参考资源链接:[SMB2协议详解:微软ServerMessageBlock v2规范](https://wenku.csdn.net/doc/4qfjksfug4?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Par@ish

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值