每个networking接口的多个IP的性能损失

如何测量每个eth0configuration2个IP地址的networking适配器的性能损失?

网卡有2个物理接口(端口):eth0和eth1,只启用eth0,configuration2个IP:主机(Ubuntu 8.04)和虚拟机(VirtualBox 4.x桥接模式)。

如果我将第二个IPconfiguration为eth1并将虚拟机设置为桥接,那么它是否会产生影响?

如果您想衡量性能损失,则需要创build适当的客户端/服务器设置。 并根据自己的喜好进行转换testing。

但是额外的IP地址不会有性能损失。 如果您configuration了多个MAC地址,或者在混杂模式下运行接口(如果您有桥接设置,则可能会增加CPU使用率),因为主机需要评估在eth0上接收的整个通信量,不能使用网卡的广播过滤和“自己的”MAC地址。 但是,在正确configuration的交换networking中,影响可以忽略不计 – 交换机将主要只将相关stream量转发到接口。

如果您已经有可用的电缆,NIC和交换机端口,请使用2个物理端口。

交换机具有内部高速caching,每个端口具有固定的分配。 使用两个端口=两倍的caching可用。 某些NIC具有内部高速caching(如果多端口NIC,则为每个端口)。

一些广播stream量可以被交换机过滤,更多端口=每个端口可能更less的广播。

当stream量达到最大吞吐量时,冲突重新传输会增加负载,两个端口=每个端口的stream量较less=潜在的冲突较less。

在大多数configuration中,您应该可以在单个NIC上运行16个或更多的IP,而不会有任何显着差异。 如果您从未填充交换机caching,请使用“噪声”广播或多播协议,或者运行超过75%最大额定吞吐量的连接,您将看不到明显的差异,从而certificateNIC,交换机端口和额外电缆的成本。

使用多个端口的最佳理由是:

  1. 在受pipe理的智能交换机上使用VLANS进行安全/networking分段,networking寻址,路由和/或源/目标/协议访问控制。
  2. debugging/协议捕获和分析,减less混乱,减less所需的过滤。

我们通常有8到12个轻载虚拟客户端运行每个发展虚拟化托pipe服务器,没有networking问题。 (单个NIC,桥接虚拟,每个NIC 8-12个IP地址)。

只需设置不同的场景,然后使用netperf,iperf等工具进行testing,甚至可以使用一些大型文件的简单FTP传输。

基本的答案是,你可以在同一界面上拥有基本无限制的IP。 这不是问题。

但是虚拟交换机可能会有一些开销。 但是,这很less是一个问题,因此你会在网上find很less的信息。

我还没有使用VirtualBox,但是在许多生产千兆位环境下使用OpenVZ的Linux软件桥接堆栈,没有任何问题或性能损失。

如果你真的想要的性能,那么只需将两个接口绑定为LACP(802.3ad)对…