我正在对一些电缆进行基准测试,在收集准确的以太网错误统计数据时遇到了一些问题。运行流量生成软件时,我发现操作系统计数器(ifconfig 和 /proc/net/dev)的以太网错误始终为 0,尽管通常性能良好的以太网至少有 1/1012 的误码率(可能更糟,因为我使用的是有损电缆)。我想知道是否还有其他地方可以查找以太网指标。为什么操作系统似乎没有更新数据包错误?有错误的数据包是否会自动丢弃而不被计算在内?我当前的 NIC/驱动程序/内核组合是否存在问题?有没有关于如何获得更准确测量的提示?
目前我的设置是 2 台 Linux Ubuntu 16.04.5 LTS 服务器,两台服务器之间运行 10gE 以太网。我使用 2 个 NIC 和一根 cat6 电缆连接两台支持 10gE 的服务器。NIC 使用 Intel(R) 10 Gigabit PCI Express 网络驱动程序 - 版本 4.2.1-k。
谢谢你的帮助!
答案1
没有错误可能是正确的,并且没有理由怀疑这是由于您的操作系统和 NIC 之间的接口问题造成的。
我在工作中运行一个包含多个 Cisco 交换机的网络,并且流量计数器目前处于三位数 TB 范围 - 错误计数器为全部接口为零。零。未检测到错误。
你可以通过以下方式获取有关 NIC 的更多统计信息ethtool -S interface
,例如ethtool -S eth0
:
$ sudo ethtool -S eth0
NIC statistics:
tx_packets: 678773569
rx_packets: 558920576
tx_errors: 1
rx_errors: 0
rx_missed: 20
align_errors: 0
tx_single_collisions: 0
tx_multi_collisions: 0
unicast: 558918071
broadcast: 2494
multicast: 11
tx_aborted: 0
tx_underrun: 0
这是来自一台总流量约为 1TiB 的 Linux 机器的数据。
通常,如果您有托管交换机,您的交换机也会有接口计数器。 Ciscoshow interfaces counters
应该会为您提供计数器,包括错误。 预计它会显示 0 个错误。