내 서버 중 6개에 광섬유 연결이 있습니다. 서버는 여러 도시에서 호스팅됩니다. 업로드 및 다운로드 속도는 100Mbps가 넘습니다. 속도 테스트 결과 대역폭이 좋은 것으로 나타났습니다. 그러나 TCP(임의 포트) 또는 SSH(scp)를 통해 일부 파일(단일 파일)을 서버로 보내려고 하면 이 제한은 ~1MBps입니다.
편집하다: 서버에서 다운로드할 때 속도가 매우 빠릅니다. (최대 속도는 11MBps입니다.)
내 친구들이 다른 위치에서 이것을 시도했을 때에도 ~1MBps로 제한되었습니다. 동시에 보내는 경우 속도는 1MBps 미만입니다(속도 합계는 1MBps). 2개의 다른 ISP에서 서버를 사용해 보았지만 동일한 동작이었습니다.
서버는 Ubuntu 22.04의 "Intel NUC"이며 ufw
비활성화되어 있으며 ISP는 끝에 QoL이 없다고 말합니다. 서버가 아직 서비스를 실행하고 있지 않습니다. iftop
트래픽이 비어 있습니다. 나는 이것이 소프트웨어 문제라고 생각하지 않을 수 없습니다.
이것이 실제로 문제인 경우 어떻게 문제를 해결합니까?소프트웨어질문?
이게 내가 하는 테스트야scp -P $PORT $FILE $USER@$HOST:/dev/null
ethtool의 결과는 다음과 같습니다.
Settings for enp1s0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
master-slave cfg: preferred slave
master-slave status: slave
Port: Twisted Pair
PHYAD: 0
Transceiver: external
MDI-X: Unknown
netlink error: Operation not permitted
Link detected: yes
편집 1:이것은 서버에 대한 내 iperf3의 결과입니다.
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 2.05 MBytes 17.2 Mbits/sec
[ 5] 1.00-2.00 sec 1.89 MBytes 15.8 Mbits/sec
[ 5] 2.00-3.00 sec 2.01 MBytes 16.9 Mbits/sec
[ 5] 3.00-4.00 sec 2.32 MBytes 19.4 Mbits/sec
[ 5] 4.00-5.00 sec 2.75 MBytes 23.0 Mbits/sec
[ 5] 5.00-6.00 sec 1.19 MBytes 10.0 Mbits/sec
[ 5] 6.00-7.00 sec 2.49 MBytes 20.9 Mbits/sec
[ 5] 7.00-8.00 sec 2.55 MBytes 21.4 Mbits/sec
[ 5] 8.00-9.00 sec 1.64 MBytes 13.8 Mbits/sec
[ 5] 9.00-10.00 sec 2.31 MBytes 19.4 Mbits/sec
편집 2: 이 영상은 이상한 동작을 보여줍니다. 소프트웨어를 열면 tcptrack
대역폭이 "해제"됩니다. 소프트웨어를 닫으면 대역폭이 다시 "테더링"됩니다.
https://youtube.com/shorts/zKkKa2ZPJ94?feature=share
편집 3: 네트워크를 무차별 모드로 설정하면 문제가 해결됩니다. 하지만 나는 이것이 나쁜 생각이라고 생각합니다 ...
sudo ifconfig enp1s0 promisc
답변1
귀하의 ethtool
덤프에는 다음과 같은 문제가 있어 걱정됩니다.
Auto-negotiation: on
이를 통해 NIC는 "다른 쪽 끝"과 유선을 통해 비트를 전송할 수 있는 속도를 협상할 수 있습니다. 이 협상은 OSI 7계층 모델의 가장 낮은 회로 계층에서 발생합니다. 기록되지 않습니다.
시간이 지남에 따라 속도가 변하는 연결에 적합합니다. 그 사람은 당신이 아닙니다.
그러나 때때로 노드는 두 노드가 데이터 패킷 대신 낮은 수준의 속도 협상을 지속적으로 교환하는 "자동 협상 폭풍"에 빠질 수 있습니다.
ethtool
다음을 사용하여 자동 협상을 끌 수 있습니다 .
sudo ethtool --change enp1s0 autoneg off
읽다 man ethtool
.
답변2
이더넷 드라이버를 r8169에서 r8168로 다운그레이드하여 이 문제를 해결했습니다. (리얼텍)
sudo apt install r8168-dkms
sudo modprobe r8168