概述本文探讨 Red Hat Enterprise Linux 上的通道绑定对 IBM InfoSphere Streams 吞吐量和延迟的影响。将介绍如何使用 Red Hat Enterprise Linux 系统设置和配置通道绑定环境,可从在此环境中运行的 InfoSphere Streams 应用程序获得怎样的性能改进。目标读者为熟悉 InfoSphere Streams 和 Linux 网络接口配置并具备相应技能的人群。
通道绑定是什么?通道绑定 (Channel bonding) 这个术词用于描述在两个网络接口之间拆分单个数据流,同时为应用程序层提供单个接口的过程。通过利用此技术,可实现更高的数据吞吐量,因为数据可同时在两个网络接口卡上流动。通道绑定可用于 InfoSphere Streams 支持的所有 Red Hat Enterprise Linux 内核。我们测试了一种通道绑定设置,并解释所观察到的结果。
请参阅 一节,获取有关通道绑定的 Red Hat Enterprise Linux 文档的链接。
设置通道绑定硬件要在 1Gbps 连接上通过通道绑定实现最佳的性能结果,请考虑以下硬件需求:
1Gbps 交换机或具有较高的过度订阅比率的更大交换机上的一个线路卡
具有两个 1Gbps Ethernet 连接的两个支持 Linux 的系统 备注:如果使用的是刀片服务器,在机架中使用穿透 (pass-through) 模块。由于交换机中用于调解流量的算法的原因,交换机模块可能不具有最佳的性能。
在我们的测试环境中,Cisco 6509 交换机构成了私有集群网络的 1Gbps 主干网。为了实现各个系统的最大性能,我们使用了 WS-X6748-GE-TX 线路卡。这些线路卡是高性能卡(每槽 40Gbps ),为卡上的所有 48 个端口提供了接近 1Gbps 的速度。对于本测试,交换运行 Cisco 的 IOS 版本 12,线路卡具有最新的固件。如果您的 Cisco 交换机运行 NX-OS 或者使用另一家供应商的产品,这些命令可能需要修改或者可能完全不同。请向您的网络管理员咨询寻求帮助。
对于下面列出的性能数字,网络交换机中未使用任何特殊的配置。尽管一些供应商交换机支持链路聚合控制协议 (Link Aggregation Control Protocol, LACP),一种纯操作系统的绑定配置可获得更高的性能结果。因为现代的硬件可轻松处理一些问题(如重新排序乱序的包)而不会对性能造成任何显著的影响,所以没有必要依赖交换机硬件来执行此工作。
图 1. InfoSphere Streams 通道绑定测试配置软件从软件的角度讲,您需要的所有软件都已包含在 Red Hat Enterprise Linux 5 发行版中。要在您的环境为每台机器设置通道绑定,您需要调整网络配置并将链接聚合在交换机中。为了简化这些说明,我们将假设您将进行通道绑定的任何服务器配置了 Red Hat Enterprise Linux 5 并在构建时定义了两个网络接口中的一个。在我们的示例中,eth0 在最初设置,/etc/sysconfig/network-scripts/ifcfg-eth0 类似于清单 1。
清单 1. /etc/sysconfig/network-scripts/ifcfg-eth0