
연결 속도를 1-3mBps로 제한하는 2개의 Windows 2012 서버가 있는데 이는 TCP 창 크기 조정과 관련된 것 같습니다. 두 서버 모두 다음 설정을 갖습니다.
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State : enabled
Chimney Offload State : disabled
NetDMA State : disabled
Direct Cache Access (DCA) : disabled
Receive Window Auto-Tuning Level : normal
Add-On Congestion Control Provider : none
ECN Capability : enabled
RFC 1323 Timestamps : disabled
Initial RTO : 3000
Receive Segment Coalescing State : disabled
그리고 iperf 결과는 다음과 같습니다.
PS C:\iperf-3.1.3-win64> .\iperf3.exe -c x.x.x.x --port 27015 --verbose
iperf 3.1.3
CYGWIN_NT-6.2 ks4000721 2.5.1(0.297/5/3) 2016-04-21 22:14 x86_64
Time: Mon, 27 Aug 2018 07:13:21 GMT
Connecting to host x.x.x.x, port 27015
Cookie: ks4000721.1535354000.903985.669c51a3
TCP MSS: 0 (default)
[ 4] local y.y.y.y port 53412 connected to x.x.x.x port 27015
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 2.00 MBytes 16.8 Mbits/sec
[ 4] 1.00-2.00 sec 3.38 MBytes 28.3 Mbits/sec
[ 4] 2.00-3.00 sec 3.50 MBytes 29.4 Mbits/sec
[ 4] 3.00-4.00 sec 3.50 MBytes 29.4 Mbits/sec
[ 4] 4.00-5.00 sec 3.38 MBytes 28.3 Mbits/sec
[ 4] 5.00-6.00 sec 3.50 MBytes 29.4 Mbits/sec
[ 4] 6.00-7.00 sec 3.38 MBytes 28.3 Mbits/sec
[ 4] 7.00-8.00 sec 3.50 MBytes 29.4 Mbits/sec
[ 4] 8.00-9.00 sec 2.88 MBytes 24.1 Mbits/sec
[ 4] 9.00-10.00 sec 2.12 MBytes 17.8 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 31.1 MBytes 26.1 Mbits/sec sender
[ 4] 0.00-10.00 sec 31.1 MBytes 26.1 Mbits/sec receiver
CPU Utilization: local/sender 1.5% (0.6%u/0.9%s), remote/receiver 0.3% (0.2%u/0.2%s)
iperf Done.
iperf에서 창을 수동으로 설정하면 서버의 포트 속도를 최대화할 수 있습니다.
PS C:\iperf-3.1.3-win64> .\iperf3.exe -c x.x.x.x --port 27015 --verbose --window 1
6000000
iperf 3.1.3
CYGWIN_NT-6.2 ks4000721 2.5.1(0.297/5/3) 2016-04-21 22:14 x86_64
Time: Mon, 27 Aug 2018 07:18:56 GMT
Connecting to host 70.189.80.34, port 27015
Cookie: ks4000721.1535354336.472314.35587933
TCP MSS: 0 (default)
[ 4] local y.y.y.y port 53585 connected to x.x.x.x port 27015
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 18.0 MBytes 151 Mbits/sec
[ 4] 1.00-2.00 sec 11.1 MBytes 93.3 Mbits/sec
[ 4] 2.00-3.00 sec 11.2 MBytes 94.4 Mbits/sec
[ 4] 3.00-4.00 sec 7.62 MBytes 64.0 Mbits/sec
[ 4] 4.00-5.00 sec 14.5 MBytes 122 Mbits/sec
[ 4] 5.00-6.00 sec 11.0 MBytes 92.2 Mbits/sec
[ 4] 6.00-7.00 sec 10.8 MBytes 90.2 Mbits/sec
[ 4] 7.00-8.00 sec 11.0 MBytes 92.3 Mbits/sec
[ 4] 8.00-9.00 sec 11.2 MBytes 94.4 Mbits/sec
[ 4] 9.00-10.00 sec 11.0 MBytes 92.2 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 118 MBytes 98.6 Mbits/sec sender
[ 4] 0.00-10.00 sec 104 MBytes 86.9 Mbits/sec receiver
CPU Utilization: local/sender 1.1% (0.6%u/0.4%s), remote/receiver 0.4% (0.2%u/0.3%s)
iperf Done.
비슷한 문제는 2012 r2인 내 다른 서버에서 발생하며 창 크기를 수동으로 지정하여 내 집 PC의 대역폭을 최대화할 수 있습니다.
PS C:\iperf> .\iperf3.exe -c x.x.x.x --port 27015 --verbose
iperf 3.1.3
CYGWIN_NT-6.3 S 2.5.1(0.297/5/3) 2016-04-21 22:14 x86_64
Time: Mon, 27 Aug 2018 07:23:02 GMT
Connecting to host x.x.x.x, port 27015
Cookie:
TCP MSS: 0 (default)
[ 4] local x.x.x.x port 51271 connected to x.x.x.x port 27015
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 2.25 MBytes 18.9 Mbits/sec
[ 4] 1.00-2.00 sec 3.50 MBytes 29.3 Mbits/sec
[ 4] 2.00-3.00 sec 3.50 MBytes 29.4 Mbits/sec
[ 4] 3.00-4.00 sec 3.50 MBytes 29.4 Mbits/sec
[ 4] 4.00-5.00 sec 3.38 MBytes 28.3 Mbits/sec
[ 4] 5.00-6.00 sec 3.50 MBytes 29.4 Mbits/sec
[ 4] 6.00-7.00 sec 3.50 MBytes 29.4 Mbits/sec
[ 4] 7.00-8.00 sec 3.50 MBytes 29.4 Mbits/sec
[ 4] 8.00-9.00 sec 3.50 MBytes 29.3 Mbits/sec
[ 4] 9.00-10.00 sec 3.50 MBytes 29.4 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 33.6 MBytes 28.2 Mbits/sec sender
[ 4] 0.00-10.00 sec 33.6 MBytes 28.2 Mbits/sec receiver
CPU Utilization: local/sender 0.9% (0.3%u/0.6%s), remote/receiver 0.1% (0.0%u/0.0%s)
iperf Done.
PS C:\iperf> .\iperf3.exe -c x.x.x.x --port 27015 --verbose --window 409600000
iperf 3.1.3
CYGWIN_NT-6.3 S 2.5.1(0.297/5/3) 2016-04-21 22:14 x86_64
Time: Mon, 27 Aug 2018 07:23:30 GMT
Connecting to host x.x.x.x, port 27015
Cookie:
TCP MSS: 0 (default)
[ 4] local x.x.x.x port 51276 connected to x.x.x.x port 27015
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 392 MBytes 3.28 Gbits/sec
[ 4] 1.00-2.00 sec 8.25 MBytes 69.3 Mbits/sec
[ 4] 2.00-3.00 sec 23.2 MBytes 195 Mbits/sec
[ 4] 3.00-4.00 sec 45.8 MBytes 384 Mbits/sec
[ 4] 4.00-5.00 sec 35.9 MBytes 301 Mbits/sec
[ 4] 5.00-6.00 sec 35.6 MBytes 299 Mbits/sec
[ 4] 6.00-7.00 sec 35.2 MBytes 296 Mbits/sec
[ 4] 7.00-8.00 sec 34.9 MBytes 292 Mbits/sec
[ 4] 8.00-9.00 sec 34.9 MBytes 292 Mbits/sec
[ 4] 9.00-10.00 sec 34.8 MBytes 291 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 681 MBytes 571 Mbits/sec sender
[ 4] 0.00-10.00 sec 292 MBytes 245 Mbits/sec receiver
CPU Utilization: local/sender 2.6% (0.6%u/2.0%s), remote/receiver 8.3% (2.9%u/5.4%s)
iperf Done.
이 문제를 해결하기 위해 다양한 조정과 도구를 시도했지만 소용이 없었습니다. 이를 해결하는 유일한 방법은 TCP 창 제한을 초과하려는 경우 한 번에 여러 부분을 요청하는 다운로드 관리자를 사용하는 것입니다.
수신/전송 창을 수동으로 설정하면 속도가 약간 빨라지지만 Wireshark에 따라 창 크기는 200kb까지만 확장됩니다. http://ss13.moe/uploads/2018-08-30_15-13-50.txt