高性能服务器网络可伸缩性(共26页).doc
《高性能服务器网络可伸缩性(共26页).doc》由会员分享,可在线阅读,更多相关《高性能服务器网络可伸缩性(共26页).doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上高性能服务器网络可伸缩性高性能可伸缩服务器的大量使用增加了网络和系统性能的复杂性。在本文中,学习如何对多节点高性能 Linux 系统进行优化(使用系统板载千兆以太网适配器,有 1 到 4 个节点)。了解可能导致问题的网络可伸缩性场景以及避免问题的方法。有许多资料讨论 了网络性能、优化和调优,涉及各种硬件、平台和操作系统以及各种工作负载。但是,高性能可伸缩服务器(比如 IBM eServer xSeries x460 和 IBM System x 3950)的大量使用毕竟增加了网络和系统性能的复杂性。例如,对于可以通过添加完整的机架(或节点)来增加容量的可伸缩服务器,提
2、高跨多节点系统的网络 可伸缩性对总体系统性能非常重要。 系统配置测试用系统(SUT)是一个 4 节点的 IBM eServer xSeries 460,运行 SUSE Linux Enterprise Server 10 for AMD64 and EM64T(x86-64)。每个节点的配置如下: 系统: IBM eServer xSeries 460 CPU: 4 个 64 位 Intel Xeon 处理器 7040 3.0GHz 内存: 32GB(4 个内存卡上各有 8 个 1 GB DIMM) 以太网适配器: Broadcom 5704 10/100/1000 dual Ethernet
3、/on system board/64-bit 266MHz PCI-X 2.0 网络驱动程序: tg3 c3.49 网络类型: 千兆以太网 线程化: 超线程技术所 有测试场景都使用 IBM System p5 550 系统,每个系统有两个 Intel Dual-Port 以太网适配器,运行 Red Hat Enterprise Linux 4 Update 4。4 节点的绑定(bond)测试还包含一个 2 节点的 IBM eServer xSeries 460,运行 SUSE Linux Enterprise Server 10 for AMD64 and EM64T(x86-64)。SUT
4、 和驱动程序通过一个 Cisco Catalyst 3750G-24TS 交换机网络。 测试方法由于多种原因,我选用 netperf 基准(具体地说,是单向流测试 TCP_STREAM)测试可伸缩性演示工作负载,原因包括它的简单性、可度量性、在 Linux 上的稳定性、广泛的应用以及能够精确地度量批量数据传输性能。它是一个基本的客户机-服务器模型基准,包含两个对应的可执行文件 netperf 和 netserver。简单的 TCP_STREAM 测试从 netperf 系统到 netserver 系统的数据传输时间,以此度量一个系统发送数据和另一个系统接收数据的速度。在执行时,netperf
5、建立一个到远程系统的控制连接(通过 TCP)。这个连接用来在系统之间传递配置信息和结果。使用另一个连接执行度量,在此期间保留控制会话但是没有通信流(除非某些 TCP 选项需要通信)。 在这里描述的所有测试中,当 IBM eServer xSeries 460 执行网络发送(netperf)、网络接收(netserver)或同时执行这两种操作(双向)时,都度量网络吞吐量和 CPU 利用率。在客户机发送端记录客户机和服务器之间的吞吐量,并由 netperf 基准报告记录的数据。 每 个环境的完整测试对于从 64 字节到 256KB 的 15 种消息大小分别执行 3 分钟的流测试。这个范围包含 14
6、60 和 1480 字节的消息大小,所以在 Linux 将消息分割为小数据包发送到网络之后,总的数据包大小接近默认的最大传输单位(MTU)1500。在 SUT 上度量 CPU 利用率并由 sysstat 包中的 sar 实用程序报告,这一信息表示为 netperf 测试期间的系统平均值。所有 CPU 和中断信息也来自 sar 数据。 在可伸缩性演示中,修改了配置和参数来影响行为。以各种组合启用和 禁用它们将导致不同的结果。通过设置 SMP IRQ 亲合位掩码 /proc/irq/nnn/smp_affinity,可以指定允许哪些 CPU 处理特定的中断。Linux 在初始化期间将它们设置为默认
7、值。可以启动守护进程 irqbalance,在处理器之间动态地分发硬件中断。如果启用这个守护进程,它会反复修改 smp_affinity 位掩码来执行分发。可以使用 numactl 程序将特定的进程绑定到特定节点上的 CPU 和/或内存。Linux 网络绑定提供多种将多个网络接口合并为一个逻辑接口的方法,对于多节点服务器,这是一个有吸引力的网络管理特性。 性能和可伸缩性结果我们来看看以下配置的结果: 1. 开箱即用:不修改软件配置2. 开箱即用加上 numactl:与前一个配置相同,但是使用 numactl 将 SUT 上的 netperf 和/或 netserver 应用程序绑定到适当节点上
8、的 CPU 和内存3. 以太网 SMP IRQ 亲合:与第一个配置相同,但是将每个以太网适配器的中断处理绑定到适配器所在的节点上的一个 CPU(不使用 irqbalance)4. 以太网 SMP IRQ 亲合加上 numactl:这个测试环境组合了第二个和第三个配置5. 以太网绑定:让一个大型多节点系统中的一些或所有以太网适配器共用一个 IP 地址开箱即用配置开箱即用测试在不修改软件配置的情况下运行。在这个环境中,在 Linux 初始化期间默认启动 irqbalance 守护进程。不修改 SMP IRQ 亲合,也不使用 numactl 和绑定。 第 一个 netserver 可伸缩性测试在 S
9、UT 的第一个节点的两个系统板载以太网适配器上各使用一个 netserver 实例。每个 netserver 实例监听一个专用端口和 IP 地址;每个以太网适配器的 IP 地址属于单独的子网以确保专用的通信流。远程驱动程序运行对应的 netperf 实例,从而按照远程 netperf 实例到 SUT netserver 实例的一对一映射提供流通信。完整测试使用 15 种不同的消息大小,对于每种消息大小执行 3 分钟的测试,并度量网络流吞吐量和系统 CPU 利用率。 第 二个 netserver 可伸缩性测试使用前 2 个节点上的所有 4 个系统板载以太网适配器,第三个测试使用所有 4 个节点上
10、的所有 8 个系统板载以太网适配器。对于每个测试,相应地增加 SUT netserver 实例和远程 netperf 实例的数量。 图 1 显示 netserver 可伸缩性测试的网络流吞吐量和系统 CPU 利用率,分别使用 SUT 中 1、2 和 4 个节点上的系统板载以太网适配器。 图 1. 采用开箱即用配置的 SUT 上的 netserver 这里显示的吞吐量是每个测试使用的所有以太网适配器的吞吐量总和;CPU 利用率是测试期间的系统平均值。 接下来,按照与 netserver 可伸缩性测试相同的方式执行 netperf 可伸缩性测试,惟一的差异是 netperf 在 SUT 上运行,n
11、etserver 在远程系统上运行。 图 2 显示 netperf 可伸缩性测试的网络流吞吐量和系统 CPU 利用率,分别使用 SUT 中 1、2 和 4 个节点上的系统板载以太网适配器。 图 2. 采用开箱即用配置的 SUT 上的 netperf 这里显示的吞吐量是每个测试使用的所有以太网适配器的吞吐量总和;CPU 利用率是测试期间的系统平均值。 最 后,按照与前面的 netserver 和 netperf 测试相似的方式执行双向可伸缩性测试。但是,在这种测试中,只使用任何节点的第一个系统板载以太网适配器,而且只使用一个 netserver 实例和一个 netperf 实例。再次重申,每个以
12、太网适配器有两个基准实例(一个 netserver 和一个 netperf),每个节点只使用一个以太网适配器。对应的 netperf 或 netserver 远程实例在它自己的以太网适配器上运行,以确保尽可能完整地测试与 SUT 之间的通信流。 图 3 显示双向可伸缩性测试的网络流吞吐量和系统 CPU 利用率,分别使用 SUT 中 1、2 和 4 个节点上的系统板载以太网适配器。 图 3. 采用开箱即用配置的 SUT 上的 netperf 和 netserver(双向) 这里显示的吞吐量是每个测试使用的所有以太网适配器的吞吐量总和;CPU 利用率是测试期间的系统平均值。 对 于每种消息大小,分
13、别计算从 2 个适配器/1 个节点到 4 个适配器/2 个节点的吞吐量变化。对于 netserver 可伸缩性测试,这些值的范围从 1.647(比较小的消息大小)到 1.944(比较大的消息大小)。所有值的平均值是 1.918。同样,对于每种消息大小,分别计算从 2 个适配器/1 个节点到 4 个适配器/2 个节点的 CPU 利用率变化。对于 netserver 可伸缩性测试,这些值的范围从 2.770 到 1.623。在这个环境中,所有值的平均值是 2.417。 对 于每种消息大小,还分别计算从 4 个适配器/2 个节点到 8 个适配器/4 个节点的吞吐量和 CPU 利用率变化。吞吐量变化范
14、围从 1.666 到 1.900,平均值是 1.847。CPU 利用率变化范围从 2.599 到 1.884,平均值是 2.386。 对于所有消息大小,从 2 个适配器/1 个节点到 8 个适配器/4 个节点的平均吞吐量变化是 3.542。对于所有消息大小,从 2 个适配器/1 个节点到 8 个适配器/4 个节点的平均 CPU 利用率变化是 5.755。 表 1 给出 netserver、netperf 和双向测试的平均变化计算值。 表 1. netserver、netperf 和双向测试的变化计算值测试平均吞吐量变化,1 到 2 节点平均吞吐量变化,2 到 4 节点平均吞吐量变化,1 到 4
15、 节点平均 CPU 利用率变化,1 到 2 节点平均 CPU 利用率变化,2 到 4 节点平均 CPU 利用率变化,1 到 4 节点netserver1.9181.8473.5422.4172.3865.755netperf1.9401.7323.3713.1092.5377.973双向1.8881.8923.5692.3682.2745.413因为这组测试中没有使用 SMP IRQ 亲合,所以所有以太网中断都在默认的 /proc/irq/nnn/smp_affinity 值所指定的 CPU 上处理(在初始化时 irqbalance 会修改这些值)。显示每个系统 CPU 的 CPU 利用率和中
16、断数等信息的 sar 数据表明,无论以太网适配器是否在任何其他节点上,所有网络中断都在第一个节点的 CPU 上处理。这导致了不必要的节点跳转延迟。 清单 1 给出 netserver 可伸缩性测试的部分 sar 数据(在所有 4 个节点上的所有以太网适配器上运行 netserver)。这组数据针对 8KB 的消息大小,可以代表这个环境中的所有测试。所有值都是 3 分钟的测试期间的平均值。 清单 1. 开箱即用配置的 sar 数据 CPU %user %nice %system %iowait %steal %idle 0 4.50 0.00 70.18 0.00 0.00 25.32 1 1.
17、89 0.00 88.54 0.00 0.00 9.57 2 1.68 0.00 70.54 0.00 0.00 27.77 3 0.66 0.00 4.81 0.00 0.00 94.53 4 1.90 0.00 80.43 0.00 0.00 17.67 5 2.44 0.00 82.38 0.00 0.00 15.18 6 1.79 0.00 70.55 0.00 0.00 27.66 7 0.55 0.00 5.40 0.00 0.00 94.04 8 3.91 0.00 67.36 0.00 0.00 28.73 9 1.66 0.00 82.23 0.00 0.00 16.1110
18、 0.21 0.00 4.37 0.00 0.00 95.4311 0.35 0.00 5.53 0.00 0.00 94.1212 0.13 0.00 1.97 0.00 0.00 97.9013 0.10 0.00 1.88 0.00 0.00 98.0314 0.09 0.00 2.14 0.09 0.00 97.6815 0.07 0.00 1.86 0.89 0.00 97.18 . . (未列出的值是 0 或接近 0) . eth0 eth1 eth2 eth3 eth4 eth5 eth6 eth7CPU i177/s i185/s i193/s i201/s i209/s i2
19、17/s i225/s i233/s 0 17542.70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1 0.00 0.00 0.00 0.00 0.00 19515.86 0.00 0.00 2 0.00 0.00 0.00 18612.58 0.00 0.00 0.00 0.00 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4 0.00 0.00 0.00 0.00 18816.80 0.00 0.00 0.00 5 0.00 0.00 18545.74 0.00 0.00 0.00 0.00 0.00 6 0.00 0.
20、00 0.00 0.00 0.00 0.00 18609.16 0.00 7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8 0.00 17506.10 0.00 0.00 0.00 0.00 0.00 0.00 9 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18606.14 . . (未列出的值是 0 或接近 0) .在这个环境中,尽管吞吐量变化并不很糟 糕,但是随着越来越多的节点利用以太网适配器,CPU 利用率的变化情况相当差。CPU 利用率快速增加的原因是,在非主节点上的以太网适配器中接收的中断却在主节点的 CPU 上处理,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 性能 服务器 网络 伸缩性 26
限制150内