私のサーバーの6つに光ファイバー接続があります。サーバーは複数の都市でホストされています。アップロードおよびダウンロード速度は100Mbpsを超えます。速度テストの結果、帯域幅が良いことがわかりました。ただし、TCP(任意のポート)またはSSH(scp)を介して一部のファイル(単一ファイル)をサーバーに送信しようとすると、この制限は〜1 MBpsです。
編集する:サーバーからダウンロードしたときに非常に高速です。 (最大速度は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階層モデルの最も低い回路層で発生します。記録されません。
時間の経過とともに速度が変化する接続に適しています。その人はあなたではありません。
しかし、時々、ノードは、2つのノードがデータパケットの代わりに低レベルの速度交渉を継続的に交換する「自動交渉嵐」に陥ることがある。
ethtool
以下を使用して自動ネゴシエーションをオフにできます。
sudo ethtool --change enp1s0 autoneg off
読むman ethtool
。
答え2
イーサネットドライバをr8169からr8168にダウングレードすることでこの問題を解決しました。 (リアルテック)
sudo apt install r8168-dkms
sudo modprobe r8168