根据实际工作负载,可以使用 SE 组级别的配置以调整 NSX Advanced Load Balancer SE 设置。
以下是规划 SE 容量时遵循的准则:
一般准则
以下是一般准则:
建议为 NSX Advanced Load Balancer SE 虚拟机保留 CPU 和内存以获得一致且确定的性能。
在 NSX Advanced Load Balancer SE 组设置中使用精简式模式以在 SE 上放置虚拟服务。这可以确保 NSX Advanced Load Balancer 使用放置虚拟服务所需的最少数量的 SE。对于公有云用例,这有助于节省成本。
调度程序配置
以下是调度程序配置:
默认情况下,在 SE 组级别将
dedicated_dispatcher
设置为 False。该配置最适合计算机容量较小(例如一个或两个内核)的 SE。对于超过两个内核的 SE 大小,NSX Advanced Load Balancer 建议将
dedicated_dispatcher
设置为 True。
GRO 和 TSO 配置
以下是 GRO 和 TSO 配置:
GRO 的默认设置是“已停用”,TSO 的默认设置是“已启用”。该配置通常适用于大多数工作负载。
只要有足够的调度程序(大于或等于 4 个),并且利用率较低,就可以启用 GRO。
接收方调整配置
以下是接收方调整 (RSS) 配置:
您可以启用 RSS 以获得更高的性能。由于每个网卡具有更多的调度程序和队列,RSS 可以实现更高的 PPS。
只能将调度程序数量设置为 2 的幂,即,调度程序数量可以是 1、2、4、8 等。
max_queues_per_vnic
默认值为 1。如果将该值设置为零,则会根据配置的调度程序计数自动确定队列数。您可以根据要求设置该值。如果每个网卡的可用队列数小于调度程序数,则将调度程序数下调到队列数。建议调度程序数大于可用的队列数。
数据路径隔离
您可以为延迟和抖动敏感的应用程序启用 SE 数据路径隔离。该功能为数据路径和控制平面 SE 功能创建两个单独的 CPU 集。
公有云上的自动 RSS 建议
所有 NSX Advanced Load Balancer 公有云实例可以在 SE 组中设置相应的 max_queues_per_vnic 和 num_dispatcher_cores 控制项值以启用自动 RSS。有关配置自动 RSS 的更多详细信息,请参见配置 TSO GRO RSS。
对于所有启用了 RSS 并且实例 vCPU 数大于或等于 8 的实例,建议通过 SE 组中的 dedicated_dispatcher_core 控制项设置专用的调度程序。专用调度程序是一个运行时属性,不需要重新引导。
不同工作负载的建议
以下是不同工作负载的建议:
高 PPS 负载(例如较高的每秒连接数以及较小的文件 GET)必须使用更多调度程序以实现更高的 PPS。
具有较高 SSL 事务的工作负载在代理中产生较高的负载,并从大量代理内核中受益。
对于 1 核和 2 核 SE,建议使用默认设置。
以下示例说明了在 vCenter 完全访问云上运行的 6 核 SE 的配置建议。
1 - PPS 高流量配置
假设具有 100 个使用 TCP 的第 4 层虚拟服务,平均每秒建立 1000 个新 TCP 连接,每个连接持续 3 秒,并通过单个 GET 请求下载单个小文件。
考虑到前端和后端的每个 TCP 事务具有 18 到 20 个数据包,该要求意味着新 TCP 连接每秒传输接近 100 万个数据包。考虑到数据包数量,必须为 NSX Advanced Load Balancer SE 配置为以下设置:
专用调度程序:是
调度程序数:2 个
代理内核数:4 个
每个网卡的队列数:2 个
2 - SSL 吞吐量和 TPS 高流量配置
假设多个 SSL 应用程序每秒总共执行 2000 个 ECC 事务,并且 GET 的 SSL 吞吐量为 2 Gbps,
对于上述要求,调度程序内核不会很繁忙,因为每秒的数据包数不是很高,并且 SSL 处理消耗代理内核以执行 ECC 事务和吞吐量。RSS 在该用例中没有提供任何帮助,建议在以下工作负载中使用 RSS:
专用调度程序:是
调度程序数:1 个
代理内核数:5 个
每个网卡的队列数:1 个
3 - HTTP 工作负载,IP 路由流量占 50%
多个 L7 应用程序产生大约 5 到 6 Gbps 流量,单个 SE 每秒处理 150 万个数据包,IP 路由流量占 50%。应用程序运行对延迟和抖动敏感。
为了实现上述要求,NSX Advanced Load Balancer 建议将其中的一个 SE 内核专用于非数据路径任务。可以通过以下配置实现该目的:
专用调度程序:是
se_dp 隔离模式:是
非调度程序内核数:1 个
调度程序内核数:2 个
每个网卡的队列数:2 个
代理内核数:3 个