Aar*_*lla 9 performance networking
我的设置:
地窖中的服务器 + GBit 开关。到屋顶的长电缆。GBit 开关。我在屋顶有三台电脑。一个只有 100MBit 以太网,一台带有 GBit 的笔记本电脑和一台新电脑。
旧 100MBit 计算机的 Ping 时间:平均 0.5ms 笔记本电脑的 Ping 时间:我的新计算机的 Ping 时间平均 0.4ms:平均 5ms 或 30ms 或 200ms 但我经常看到 ping 时间高达 980ms。一般来说,吞吐量非常不稳定。
我更换了屋顶上的开关。没变。我更换了将新计算机连接到车顶开关的电缆。没变。我安装了一个带有 Intel GBit 芯片 (82541PI) 的 PCI 网卡,并使用它而不是内置的 Realtek RTL8111/8168B。没变。是的,我确定我将电缆插入了正确的端口,因为我现在从 DHCP 服务器获得了不同的 IP 地址。
在我使用相同操作系统 (openSUSE 12.1) 的旧计算机上找到了完全相同的网卡。
ifconfig
说:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15679 errors:0 dropped:0 overruns:0 frame:0
TX packets:13077 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 Sendewarteschlangenlänge:1000
Run Code Online (Sandbox Code Playgroud)
ethtool
说:
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
Run Code Online (Sandbox Code Playgroud)
什么可能导致这种行为?
[编辑]我发现了一些有趣的事情:
# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
0: 178 0 0 0 0 0 0 0 IR-IO-APIC-edge timer
1: 6 0 0 0 0 0 0 0 IR-IO-APIC-edge i8042
8: 1 0 0 0 0 0 0 0 IR-IO-APIC-edge rtc0
9: 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi acpi
12: 10 0 0 0 0 0 0 0 IR-IO-APIC-edge i8042
16: 3302428 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi ehci_hcd:usb1, nvidia, mei, eth1
17: 184 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi snd_hda_intel
23: 16721 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi ehci_hcd:usb2
Run Code Online (Sandbox Code Playgroud)
如您所见,中断 16 服务于一个 USB 端口、图形卡、“mei”(?)和eth1
.
我想这可以解释为什么它很慢。如何在 2012 中分配中断?
我的主板是华硕 P8Z77-M。BIOS 版本是 0802。这个 bios 有一个错误:它为所有高吞吐量设备分配相同的 IRQ (16),这可能会导致各种问题(例如,当您将文件复制到 USB 设备时,桌面冻结)。
升级到版本 1206 改善了这种情况。网卡现在获得自己的 IRQ,ping 时间现在应该是:
64 bytes from ds.digulla (192.168.0.3): icmp_seq=1 ttl=64 time=0.197 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=2 ttl=64 time=0.252 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=3 ttl=64 time=0.200 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=4 ttl=64 time=0.239 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=5 ttl=64 time=0.215 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=6 ttl=64 time=0.204 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=7 ttl=64 time=0.244 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=8 ttl=64 time=0.190 ms
^C
--- ds.digulla ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7001ms
rtt min/avg/max/mdev = 0.190/0.217/0.252/0.027 ms
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8521 次 |
最近记录: |