SMB 転送は非常に遅いです。Windows 10 マシンを 2 台持っていますが、2 台間でデータを転送しようとしましたが、ギガビット接続で両方向とも約 500 mbps しか得られませんでした。
また、Android (Neuxs 6P および Pixel XL) から Windows 10 マシンにファイルを転送しようとしたところ、平均速度は約 800 kbps でした。ただし、Windows 10 マシンから電話に転送すると、速度は約 40 mbps になりました。この方向では速度は速くなりますが、予想よりはるかに遅いです。
2 台の Windows 10 マシン間の Iperf3 テストでは、両方向で約 900 mbps を示しています。Android から Windows 10 マシンへの Iperf3 テストでは約 200 mbps です。ワイヤレス転送には Unifi UAP-AC-Lites を使用しています。
転送速度が遅い原因は何でしょうか?
答え1
私自身は実際に試したことはないのですが、多くのインターネットの情報源では推奨されているようですTCP 大量送信オフロードを無効にするネットワーク カード デバイスのプロパティ ページで、TCP 受信ウィンドウ サイズの自動調整レベルを中心に、いくつかの TCP スタック設定を編集します。
グローバル TCP 設定を表示するには:
> netsh interface tcp show global
Querying active state...
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State : enabled
Chimney Offload State : disabled
Receive Window Auto-Tuning Level : normal
Add-On Congestion Control Provider : default
ECN Capability : disabled
RFC 1323 Timestamps : disabled
Initial RTO : 3000
Receive Segment Coalescing State : enabled
Non Sack Rtt Resiliency : disabled
Max SYN Retransmissions : 2
Fast Open : enabled
Fast Open Fallback : enabled
Pacing Profile : off
autotuninglevelの値:
disabled: Fix the receive window at its default value.
highlyrestricted: Allow the receive window to grow beyond its default value, but do so very conservatively.
restricted: Allow the receive window to grow beyond its default value, but limit such growth in some scenarios.
normal: Allow the receive window to grow to accommodate almost all scenarios.
experimental: Allow the receive window to grow to accommodate extreme scenarios.
修正するには、次の操作を試してください。
netsh interface tcp set global autotuninglevel=disabled
これらの設定にはコンピュータの再起動が必要です。こちらはTCP 機能について説明した Microsoft の記事。
答え2
結局、その時に解決しました。この疑問に結論を出すと、問題はクライアント自体、ES ファイル エクスプローラーにありました。私の記憶では、このアプリは古いバージョンの SMB を使用していたため、転送速度が遅くなっていました。新しい標準をサポートする別のアプリに切り替えると、問題は解決しました。