我遇到了一个相当不寻常的问题,我很难深入了解......这是配置:
SMB 服务器->(2x10Gb SFP+ LAG) Cisco SG500X-24 交换机->(1x10Gb SFP+) Netgear XS716T
问题
当 SMB 客户端(Mac OS 10.13.6,1Gbase-T 接口,短电缆(<10m Cat-6A)连接到 Cisco 交换机时,写入传输速率良好 ~100MB/s,读取是可变的,下降到 5 -6MB/s up to 50-60MB/s - 这是不稳定的。但是转移电缆使客户端在下游的Netgear交换机上,不改变任何其他参数,我现在在同一条路上都有一个稳定的100MB/s系统 - 这是我期望的性能。Netgear 上的 10GBase-T 客户端的性能也低于预期的性能(250MB/s 读写,一个 10G 客户端处于活动状态)。
这是完全可重现的,并且发生在多个客户端上。Mac OS 10.14.6(也是 1Gbase-T)上的客户端在 Cisco 上具有更好的传输速率(100GB/s 写入,70GB/s 速率),但仍比可用带宽低 30%。
我试过的
- 更换从 SG500X 交换机到客户端的电缆。不用找了
- 激活和停用流量控制。似乎也有一些不同,但不是很大
- 从 Cisco 交换机中删除所有其他客户端以进行测试。问题仍然存在,只有服务器、Cisco 交换机和客户端作为存在的唯一设备。
- 将 SG500X 交换机的固件更新到最新版本
- SG500X 交换机的出厂重置和重新配置
- 将 SG500X 交换机更换为相同型号以排除硬件故障
其他配置细节
SG500X 配置有出厂默认值、无 QOS 配置、默认 4 个队列、L2/L3(路由已激活但当前未使用)、默认 VLAN、独立模式。出厂默认设置的唯一更改是:子网配置、禁用 EEE、交换机进入独立模式(无堆叠)以及配置到上游 SMB 服务器的 LAG。MTU 始终为 1500。正如预期的那样,在交换机上激活巨型帧功能没有任何区别。
我不明白为什么将客户端连接置于下游会显着提高性能,这导致我质疑 SG500X 上的一些配置问题。我还没有机会进入 Wireshark 看看我是否能看到任何东西。
有没有人对正在发生的事情或探索路径的建议有任何线索?欢迎任何想法!
思科 SG500X-24 配置文件
config-file-header
switchd1395b
v1.4.7.6 / R800_NIK_1_4_194_194
CLI v1.0
set system queues-mode 4
file SSD indicator excluded
@
port jumbo-frame
voice vlan oui-table add 0001e3 Siemens_AG_phone________
voice vlan oui-table add 00036b Cisco_phone_____________
voice vlan oui-table add 00096e Avaya___________________
voice vlan oui-table add 000fe2 H3C_Aolynk______________
voice vlan oui-table add 0060b9 Philips_and_NEC_AG_phone
voice vlan oui-table add 00d01e Pingtel_phone___________
voice vlan oui-table add 00e075 Polycom/Veritel_phone___
voice vlan oui-table add 00e0bb 3Com_phone______________
no eee enable
bonjour interface range vlan 1
no qos
hostname switch
passwords aging 0
username cisco password encrypted XXX privilege 15
!
interface vlan 1
ip address 192.168.99.200 255.255.255.0
no ip address dhcp
!
interface gigabitethernet1/1
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/2
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/3
no eee enable
flowcontrol on
no eee lldp enable
no macro auto smartport
!
interface gigabitethernet1/4
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/5
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/6
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/7
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/8
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/9
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/10
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/11
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/12
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/13
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/14
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/15
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/16
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/17
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/18
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/19
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/20
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/21
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/22
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/23
no eee enable
flowcontrol on
no eee lldp enable
!
interface gigabitethernet1/24
no eee enable
flowcontrol on
no eee lldp enable
!
interface tengigabitethernet1/1
flowcontrol on
lacp timeout short
channel-group 1 mode auto
no macro auto smartport
!
interface tengigabitethernet1/2
flowcontrol on
lacp timeout short
no macro auto smartport
!
interface tengigabitethernet1/3
flowcontrol on
lacp timeout short
channel-group 1 mode auto
!
interface tengigabitethernet1/4
lacp timeout short
!
interface Port-channel1
flowcontrol auto
description XXX
no snmp trap link-status
no macro auto smartport
!
interface Port-channel2
flowcontrol auto
!
exit
LAG 1 stats
Bytes Received: 1288915754
Drop Events: 5960612
Packets Received: 2504690512
Broadcast Packets Received: 11768
Multicast Packets Received: 176663
CRC & Align Errors: 0
Undersize Packets: 0
Oversize Packets: 0
Fragments: 0
Jabbers: 0
Collisions: 0
Frames of 64 Bytes: 9823411
Frames of 65 to 127 Bytes: 1072963532
Frames of 128 to 255 Bytes: 118984791
Frames of 256 to 511 Bytes: 18631305
Frames of 512 to 1023 Bytes: 15774615
Frames of 1024 Bytes or More: 1268512858
GE15 stats
Bytes Received: 1609303336
Drop Events: 0
Packets Received: 49604716
Broadcast Packets Received: 2408
Multicast Packets Received: 877
CRC & Align Errors: 0
Undersize Packets: 0
Oversize Packets: 0
Fragments: 0
Jabbers: 0
Collisions: 0
Frames of 64 Bytes: 15092
Frames of 65 to 127 Bytes: 24547933
Frames of 128 to 255 Bytes: 1910884
Frames of 256 to 511 Bytes: 410342
Frames of 512 to 1023 Bytes: 784807
Frames of 1024 Bytes or More: 21935658
接口统计信息(所有端口都处于活动状态(交换机正在使用,但在最小配置中也有同样的问题))
界面 | RX 总字节数(八位字节) | 单播数据包 | 组播数据包 | 广播包 | 有错误的数据包 | TX 总字节数(八位字节) | 单播数据包 | 组播数据包 | 广播包 |
---|---|---|---|---|---|---|---|---|---|
GE1 | 1914771463 | 8881813 | 967 | 33616 | 0 | 5003196556 | 4388558 | 373018 | 283384 |
GE2 | 2924295671 | 2158000 | 146 | 2131 | 0 | 1376014518 | 1188455 | 4636 | 6253 |
GE3 | 18314582 | 19259 | 1507 | 35 | 0 | 3317050 | 23741 | 1328 | 3413 |
GE4 | 1610193506 | 24779700 | 831 | 291 | 0 | 91587132392 | 66022893 | 216809 | 134416 |
GE5 | 1785931115 | 18347068 | 270 | 257 | 0 | 96968345968 | 66588299 | 181578 | 109479 |
GE6 | 3366871042 | 2673219 | 1247 | 585 | 0 | 1758705961 | 2053922 | 183192 | 113628 |
GE7 | 776696078 | 573832217 | 598 | 513 | 0 | 410038276096 | 435640528 | 192392 | 125422 |
GE8 | 3281916167 | 20044634 | 1114 | 683 | 0 | 49840870438 | 33899587 | 68320 | 52629 |
GE9 | 3147242197 | 93149866 | 449 | 782 | 0 | 2316161273 | 25946416 | 226173 | 140373 |
GE10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
GE11 | 11668814 | 34093 | 90 | 127 | 0 | 24586872 | 30558 | 8734 | 10890 |
GE12 | 1433807334 | 16248509 | 158149 | 62811 | 0 | 47201704133 | 31642035 | 237196 | 258701 |
GE13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
GE14 | 2560485641 | 13071733 | 510 | 1737 | 0 | 9018751222 | 7543145 | 205019 | 124718 |
GE15 | 1609927785 | 49605076 | 883 | 2511 | 0 | 109001196462 | 79900959 | 240081 | 156721 |
GE16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
GE17 | 3641387874 | 16345400 | 745 | 513 | 0 | 54112776988 | 38374193 | 194917 | 120167 |
GE18 | 410520499 | 2672004316 | 9140 | 4513 | 0 | 106570486881 | 869744932 | 371227 | 318656 |
GE19 | 4096587109 | 49615757 | 486 | 479 | 0 | 193265149894 | 136865784 | 264575 | 183179 |
GE20 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
GE21 | 1837729908 | 2173122 | 5243 | 725 | 0 | 501919494 | 1268902 | 225662 | 147760 |
GE22 | 254816121 | 629899 | 302 | 1104 | 0 | 1623851943 | 1236679 | 379628 | 320703 |
GE23 | 2018388782 | 6819040 | 834 | 708 | 0 | 16700032706 | 11892710 | 50744 | 26999 |
GE24 | 850703938 | 141402143 | 182473 | 152039 | 0 | 314779880945 | 239441934 | 247770 | 170694 |
XG1 | 1963305513 | 1762211013 | 91082 | 12192 | 0 | 1252066021017 | 1340462183 | 354024 | 25595 |
XG2 | 823218861 | 650990080 | 50191 | 5129 | 0 | 918646564630 | 787696151 | 333303 | 318809 |
XG3 | 3625591452 | 742303743 | 90499 | 0 | 0 | 3701977843871 | 2749796466 | 211438 | 287424 |
XG4 | 3157857128 | 93010284 | 26478 | 44712 | 0 | 17513685286 | 19412242 | 353458 | 278958 |
更新(2021 年 6 月 4 日):
进一步的调查,包括使用 Wireshark 的数据包跟踪,揭示了传输速率下降时的数据包丢失(和 TCP 重传)。发生吞吐量问题时,XG1/1、XG1/3 和 Po1(LACP LAG)上的入口丢帧计数器会增加。尽管服务器的 LACP 散列策略配置错误(L4 而不是 L2),但更改此设置并不能解决问题,这是预期的,因为我认为散列策略不需要与 LACP 同质。我将在其中一个有问题的入口端口上使用端口镜像和数据包捕获进行进一步捕获以查看,但由于所有其他错误计数器均为零,我怀疑交换机的缓冲区在目标端口时没有处理突发速率是一个 1Gbit 的本地端口,这很奇怪,因为系统没有受到特别的压力(问题仍然存在于 1 个服务器和 1 个客户端) - 但最近的服务器升级可能会随着突发率而改变。尽管在 XG1/1 和 XG1/3 两个端口上激活了流控制,但它无效(可能是因为它依赖于它在 LAG 上被激活)。
#show interfaces status xg1/1
Flow Link Back Mdix
Port Type Duplex Speed Neg ctrl State Pressure Mode
-------- ------------ ------ ----- -------- ---- ----------- -------- -------
te1/1 10G-Fiber Full 10000 Disabled Off Up Disabled Off
#show interfaces configuration xg1/1
Flow Admin Back Mdix
Port Type Duplex Speed Neg control State Pressure Mode
-------- ------------ ------ ----- -------- ------- ----- -------- ----
te1/1 10G-Fiber Full 10000 Disabled On Up Disabled Off
在 LAG 上激活流控制会导致负责服务器的工程师在最后一次尝试时完全失去连接。我不太清楚为什么。
至于连接到下游交换机时的改进 - 我认为可能发生的是,当传入帧的目标端口是 10Gb SFP+ 端口(通向下游交换机)时,帧被更快地卸载到下游交换机,因此 Cisco 的缓冲区填充更少,吞吐量问题也减少了。这看起来可能吗?