未解决
此帖子已超过 5 年
2 Intern
•
2.1K 消息
0
1029
Networker网络优化配置建议
Networker网络优化配置建议
转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese
介绍
本文介绍了优化Networker备份的网络配置9条建议。
更多信息
1. 操作系统 TCP 堆栈优化常用规则:
-
- 禁用软件流控制。
- 增加 TCP 缓冲区大小。
- 增加 TCP 队列深度。
- 针对 10 GB NIC 使用 PCIeXpress。其他 I/O 体系结构没有足够的带宽。
- 一些操作系统具有 TCP 堆栈的内部自动调整功能。这在非异构环境中可产生良好的结果。但是,对于异构(或路由)环境,请禁用 TCP 自动调整功能。
- 尽可能启用巨型帧。(参考建议4)
- 如果 TCP 硬件卸载功能能够正常工作,则很有用。但是,它可能导致 CRC 不匹配。如果启用该功能,请监视其是否出错。
- 如果设备链中的所有网络设备都支持 TCP 窗口缩放功能,则很有用。
- 在异构环境中, TCP 拥塞通知可能导致问题。请仅在单操作系统环境中启用该功能。
2. 以太网双工:
在半双工模式下工作的网络链路会导致 NetWorker 通信流量性能下降。例如, 100 Mb半双工链路会产生低于 1 MB/ 秒的备份性能。大多数操作系统上的默认双工配置设置都按照 IEEE802.3 的建议自动协商。但是,自动协商机制要求满足正确连接电缆、NIC和交换机兼容等条件。为避免与自动协商有关的问题,请在 NIC 上强制执行全双工设置。必须在链路的两侧都应用强制执行的全双工设置。如果仅在链路一侧应用强制执行的全双工设置,则会导致在该链路的另一侧发生自动协商失败。
3. 防火墙:
硬件防火墙中 I/O 路径上的附加层会增加网络延迟,并降低总体带宽使用效率。建议避免在备份服务器上使用软件防火墙,因为它会处理大量数据包,导致重大开销。
4. 巨型帧:
建议在能够处理巨型帧的环境中使用巨型帧。如果源和计算机以及数据路径中的所有设备都能够处理巨型帧,请将 MTU 增加到 9 KB。
-
- Linux: ifconfig eth0 mtu 9000 up
- Solaris: 使用以下命令为 nxge 设备配置巨型帧:ndd -set /dev/nxge<#> accept-jumbo 1
5. 拥塞通知:
Windows 2008 R2禁用可选的拥塞通知算法:
-
- C:\> netsh interface tcp set global ecncapability=disabled
高级 TCP 算法可在 Windows 上提供最佳结果。但是,如果网络转换的两侧不同时支持协商,请禁用高级 TCP 算法:
-
- C:\> netsh interface tcp set global congestionprovider=ctcp
Linux:检查是否使用了非标准算法:
-
- cat /proc/sys/net/ipv4/tcp_available_congestion_control
- 禁用 ECN:echo 0 >/proc/sys/net/ipv4/tcp_ecn
6. TCP缓冲区:
对于高速网络接口,请增加 TCP 发送/ 接收缓冲区的大小, 要修改 Linux 上的 TCP 缓冲区设置,请将以下参数添加到/etc/sysctl.conf 文件中,然后运行 /sbin/sysctl -p 命令:
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 8192 524288 16777216
net.ipv4.tcp_wmem = 8192 524288 16777216
设置建议的 RPC 值:
sunrpc.tcp_slot_table_entries = 64
Windows:由 Windows 操作系统维护的默认缓冲区大小足够。设置注册表项:
AdditionalCriticalWorkerThreads: DWORD=10
如果 NIC 驱动程序能够在驱动程序级别创建多个缓冲区或队列,请在驱动程序级别启用它。例如,默认情况下, Intel 10 Gb NIC 驱动程序将“RSS 队列” 设置为 2,而最佳性能的建议值为 16。
7. 增加 TCP Backlog 缓冲区大小:
要增加 TCP Backlog 缓冲区大小,可将连接 Backlog 队列设置为允许的最大值:
net.ipv4.tcp_max_syn_backlog = 8192
net.core.netdev_max_backlog = 8192
net.core.somaxconn 值默认为 128。大幅提高该值可以支持触发请求。例如,要支持1024 个触发请求,可将net.core.somaxconn 设置为 1024:
net.core.somaxconn = 1024
8. 中断节制:
在 Windows 上,对于 10 Gb 网络,建议为网络适配器禁用中断节制以改善网络性能。
9. TCP 卸载:
对于具有能够在较低级别处理 TCP 数据包的 NIC 的系统,请在操作系统上启用 TCP 卸载,以便提高总体带宽利用率和减少系统中的 CPU 负载
参考
应用于
Networker