我正在尝试利用我的 1GiB 网卡提供的最大带宽,但它始终限于 80MiB(实际兆字节)。可能是什么原因?卡说明(lshw 输出):
description: Ethernet interface
product: DGE-530T Gigabit Ethernet Adapter (rev 11)
vendor: D-Link System Inc
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth1
version: 11
serial: 00:22:b0:68:70:41
size: 1GB/s
capacity: 1GB/s
width: 32 bits
clock: 66MHz
capabilities: pm vpd bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
该卡放置在以下 PCI 插槽中:
*-pci:2
description: PCI bridge
product: 82801 PCI Bridge
vendor: Intel Corporation
physical id: 1e
bus info: pci@0000:00:1e.0
version: 92
width: 32 bits
clock: 33MHz
capabilities: pci subtractive_decode bus_master cap_list
PCI不是任何PCI Express吗?这是一个传统的 PCI 插槽?所以也许这就是原因?
操作系统是linux。
80MB/秒其实还不错!这大约是 640mbps,非常接近 NIC 的千兆位容量。如果考虑 TCPIP 开销和磁盘速度,您可能处于最大速度。
试着把它放到你的 /etc/sysctl.conf
我们建立的每个连接都需要一个临时端口,因此需要一个文件描述符,默认情况下限制为 1024。为了避免打开文件过多的问题,您需要修改 shell 的 ulimit。这可以在 中更改
/etc/security/limits.conf
,但需要注销/登录。现在您可以只使用 sudo 并修改当前的 shell(如果您不想以 root 身份运行,请在调用 ulimit 后 su 回到您的非私有用户):您可以尝试的另一件可能有助于增加 TCP 吞吐量的事情是增加接口队列的大小。为此,请执行以下操作:
你可以玩拥塞控制:
还有一些低级调优,例如内核模块参数
甚至可以通过
ethtool(1)
.PS。阅读内核文档,尤其是Documentation/networking/scaling.txt
聚苯乙烯。在调整 TCP 性能时,您可能需要参考RFC6349
购买力平价。D-Link 不是最好的网络硬件。尝试使用 pci-x 或 pci-64 的 Intel 硬件
您的 32 位 33Mhz PCI 总线最多可以传输 1,067 兆比特每秒 (Mbps) 或 133.33 兆字节每秒 (MBps)。
千兆以太网可以传输 116 兆字节/秒 (MBps)。
因此,尽管您的卡应该能够使线路完全饱和,但由于各种开销,您实际上只能获得大约 90% 的利用率。
无论哪种方式,如果您获得每秒 80 兆字节 (MBps) 的速度,那么您离我们不远了,我现在对此感到相当满意。
千兆以太网每秒刚刚超过 10 亿比特。使用 8/10 编码,每秒最多可以达到 100MB。一个 32 位 PCI 总线应该能够以 133MB/秒的速度通过并且你应该能够使其饱和(我可以用光纤通道卡演示 PCI 总线的饱和,并得到一个接近总线理论带宽的数字),因此,除非有其他公共汽车流量,否则它不太可能成为瓶颈的原因。
除非您有另一张卡在总线上使用带宽,否则瓶颈可能在其他地方。
GigE 速度的瓶颈可能来自许多地方。
您有多确定卡是瓶颈?这可能是它可以与另一端的设备协商的最佳速度,因此它处于等待状态。另一台设备可能会卡在以 10/100 的速度运行,因此 80 大约是正确的,但需要一点开销。
经过长期的研究,我发表了我的结论:
以我的经验,80 MiB/s 相当不错。无论使用哪种 NIC 和交换机组合,我都没有看到更高的速度。我记得 100 Mbps 表现出几乎相同的行为。70-80% 的利用率几乎是你所能要求的,尽管我看到这些天千兆设备在 100 Mbps 模式下运行在 90% 以上。
相比之下,我在家里的第一个千兆配置,基于 SMC 交换机和 Broadcom 集成 NIC,几乎无法管理 400 Mbps。现在,多年后,使用 Netgear 管理交换机以及 Intel 和 Marlin NIC,我通常发现自己处于 70-80 MiB/s 的持续传输范围内。
如果您需要更多,请考虑绑定多个接口。
如果可以检查您的开关端,您的速度会非常好
http://www.cisco.com/en/US/tech/tk389/tk213/technologies_configuration_example09186a0080094470.shtml