나는 이것을 간단하지만 설명하기 위해 설명하려고합니다. 이것은이 서버 또는 현재 사용중인 ISP 전용이 아닙니다 . 여러 ISP에 있고 다른 공급자 (미국의 GoDaddy, 캐나다의 iWeb 및 GloboTech)가있는 서버를 보유하면서 수년 동안 동일한 문제가 발생했습니다. 일반적인 것은 Windows Server OS (2003 및 2008 r2)뿐입니다. 그러나 현재 서버와 현재 ISP 만 살펴 보겠습니다.
문제 :
로컬 워크 스테이션과 원격 전용 서버간에 전송 속도가 매우 느립니다. 내 서버는 100Mbps 포트에 있고 로컬 워크 스테이션은 광섬유를 통한 50Mbps 대칭 연결에 있습니다.
증상 :
미국과 멕시코의 다른 서버 및 위치에 대해 speedtest.net에서 테스트를 수행 할 때 서버와 워크 스테이션 모두 우수한 연결 속도에 매우 가까운 결과를 얻습니다. Dropbox에서 서버 나 워크 스테이션으로 큰 파일을 다운로드하면 단일 연결에서 각각 10Mbps 및 5MBps의 전송 속도를 얻습니다. 각 연결 속도는 100Mbps 및 50Mbps입니다. 우연히.
그러나 파일을 서버에서 (HTTP 또는 FTP를 통해) 워크 스테이션으로 전송하면 50Mbps 속도 (5MBps 전송 속도)에 가깝지 않지만 대신 3Mbps에 해당합니다. (300kbps 전송 속도).
전송 속도가 느린 이유를 이해하려고합니다. 디버깅 방법을 잘 모르겠습니다. 호스팅 제공 업체와 관련된 문제에 대한 티켓을 얻을 때마다 추적 출력을 요청하고 결국 중간에있는 일부 서버에서 비난합니다. 그러나 우리가 처음에 말한 것을 고려할 때, 그것은 정확하지 않은 것 같습니다 : GoDaddy, iWeb 및 GloboTech가있는 서버를 가지고 있고 다른 ISP를 사용하는 동안이 정확한 속도 / 문제를 보았습니다. 다른 유형의 인터넷 서비스 . 서버 영역 어딘가에 고정 된 설정처럼 보입니다.
내가 한 테스트 :
SPEEDTEST
다음은 멕시코 시티에있는 ISP 데이터 센터의 서버를 포함하여 다른 원격 서버에 대해 전용 서버에서 실행 된 speedtest.net의 속도 테스트입니다 .
캐나다 : 다운로드 94.64Mbps 및 업로드 94.87
http://www.speedtest.net/my-result/3470801975
산호세, 캘리포니아 : 다운로드 93.58Mbps 및 업로드 95.48Mbps
http://www.speedtest.net/my-result/3470805341
멕시코 시티 (내 ISP의 데이터 캔터에있는 서버) : 다운로드 92.99Mbps 및 업로드 95.39Mbps
http://www.speedtest.net/my-result/3470810269
로컬 워크 스테이션에서 동일한 서버에 대해 이러한 테스트를 실행하면 50Mbps 연결에 가까운 속도도 얻을 수 있습니다.
TRACERT
이것은 내 워크 스테이션에서 전용 서버로 실행 된 최근 tracert 출력입니다.
1 <1 ms <1 ms <1 ms 192.168.7.254
2 2 ms 1 ms 1 ms 10.69.32.1
3 * 3 ms 2 ms 10.5.50.174
4 3 ms 2 ms 2 ms 10.5.50.173
5 * 5 ms 3 ms fixed-203-69-2.iusacell.net [189.203.69.2]
6 32 ms 32 ms 32 ms 8-1-33.ear1.Dallas1.Level3.net [4.71.220.89]
7 33 ms 33 ms 33 ms ae-3-80.edge5.Dallas3.Level3.net [4.69.145.145]
8 33 ms 33 ms 33 ms ae13.dal33.ip4.tinet.net [77.67.71.221]
9 76 ms 76 ms 157 ms xe-1-0-0.mtl10.ip4.tinet.net [89.149.185.41]
10 72 ms 72 ms 72 ms te2-2.cr2.mtl3.gtcomm.net [67.215.0.160]
11 72 ms 72 ms 72 ms ae2.csr2.mtl3.gtcomm.net [67.215.0.134]
12 72 ms 72 ms 73 ms te3-4.dist1.mtl8.gtcomm.net [67.215.0.83]
13 72 ms 72 ms 72 ms ns1.marveldns.com [173.209.57.82]
아이 퍼프
이것은 전용 서버를 서버로 사용하고 내 워크 스테이션을 클라이언트로 사용하여 iperf 테스트를 실행합니다.
------------------------------------------------------------
Client connecting to ns1.marveldns.com, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.7.2 port 60339 connected with 173.209.57.82 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.3 sec 5.62 MBytes 4.59 Mbits/sec
PATHPING
이것은 내 워크 스테이션에서 전용 서버로 실행되는 경로 지정 권장 사항의 출력입니다.
Tracing route to ns1.marveldns.com [173.209.57.82]
over a maximum of 30 hops:
0 ws1 [192.168.7.2]
1 192.168.7.254
2 10.69.32.1
3 * 10.5.50.174
4 10.5.50.173
5 fixed-203-69-2.iusacell.net [189.203.69.2]
6 8-1-33.ear1.Dallas1.Level3.net [4.71.220.89]
7 ae-3-80.edge5.Dallas3.Level3.net [4.69.145.145]
8 ae13.dal33.ip4.tinet.net [77.67.71.221]
9 xe-1-0-0.mtl10.ip4.tinet.net [89.149.185.41]
10 te2-2.cr2.mtl3.gtcomm.net [67.215.0.160]
11 ae2.csr2.mtl3.gtcomm.net [67.215.0.134]
12 te3-4.dist1.mtl8.gtcomm.net [67.215.0.83]
13 ns1.marveldns.com [173.209.57.82]
Computing statistics for 325 seconds...
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
0 ws1 [192.168.7.2]
0/ 100 = 0% |
1 0ms 0/ 100 = 0% 0/ 100 = 0% 192.168.7.254
0/ 100 = 0% |
2 1ms 0/ 100 = 0% 0/ 100 = 0% 10.69.32.1
0/ 100 = 0% |
3 3ms 0/ 100 = 0% 0/ 100 = 0% 10.5.50.174
0/ 100 = 0% |
4 2ms 0/ 100 = 0% 0/ 100 = 0% 10.5.50.173
0/ 100 = 0% |
5 4ms 20/ 100 = 20% 20/ 100 = 20% fixed-203-69-2.iusacell.net [189.203.69.2]
0/ 100 = 0% |
6 34ms 0/ 100 = 0% 0/ 100 = 0% 8-1-33.ear1.Dallas1.Level3.net [4.71.220.89]
0/ 100 = 0% |
7 34ms 0/ 100 = 0% 0/ 100 = 0% ae-3-80.edge5.Dallas3.Level3.net [4.69.145.145]
0/ 100 = 0% |
8 33ms 0/ 100 = 0% 0/ 100 = 0% ae13.dal33.ip4.tinet.net [77.67.71.221]
0/ 100 = 0% |
9 79ms 0/ 100 = 0% 0/ 100 = 0% xe-1-0-0.mtl10.ip4.tinet.net [89.149.185.41]
2/ 100 = 2% |
10 73ms 14/ 100 = 14% 12/ 100 = 12% te2-2.cr2.mtl3.gtcomm.net [67.215.0.160]
0/ 100 = 0% |
11 72ms 2/ 100 = 2% 0/ 100 = 0% ae2.csr2.mtl3.gtcomm.net [67.215.0.134]
2/ 100 = 2% |
12 72ms 18/ 100 = 18% 14/ 100 = 14% te3-4.dist1.mtl8.gtcomm.net [67.215.0.83]
0/ 100 = 0% |
13 72ms 4/ 100 = 4% 0/ 100 = 0% ns1.marveldns.com [173.209.57.82]
Trace complete.
스스로 시도 할 수있는 것들
시도해보고 싶다면 테스트 목적으로 서버에 설정 한 몇 가지 사항입니다.
HTTP 서버의 큰 파일
HTTP를 통해 다운로드 할 수있는 5GB 파일을 서버에 저장했습니다. 여기에서 찾을 수 있습니다 : http://www.marveldns.com/transfer_test/
가장 빠른 MINI 앱
내 서버에서 “speedtest mini”테스트를 설정했습니다. 당신은 그것을 방문하고 내 서버와 자신 내에서 다운로드 및 업로드에 대한 속도를 알 수 있습니다. 여기에서 찾을 수 있습니다 : http://www.marveldns.com/speedtest/
마지막으로 :
전에 말했듯이, 나는 모든 것을 이해하는 데 도움을 얻으려고 노력하고 있습니다. TCP / IP 또는 최고급 네트워킹에 대해서는 전문가가 아닙니다. 솔직히 tracert, iperf 또는 pingpath의 결과를 사용하여 문제를 해결할 수있는 방법을 명확하게 알지 못하지만이 문제에 대해 이야기 할 때 항상 요청하기 때문에 포함시킵니다.
내 질문에 더 나은 무언가가 부족한 경우 문제를 공감하고 문제가 있거나 도움을 얻기 위해 추가 할 수있는 내용을 알려주지 마십시오. 감사합니다.
답변
해당 URL에 액세스 할 때 나타나는 병목 현상은 창 크기 때문입니다.
서버에서 다운로드하려고하면 555KB / s가 표시됩니다. 왕복 시간은 108ms입니다. 수학을하면 다음과 같은 창 크기가 나타납니다 : 555KB / s * 108ms = 59.94KB.
데이터 센터의 호스트에서 수행하는 한 매우 일관된 처리량과 왕복을 얻습니다. 또한 두 번의 다운로드를 동시에 시작하면 각각 555KB / s를 얻습니다. 병목 현상이 창 크기 일 때 나타나는 증상입니다.
창 크기 조정이 없으면 창은 64KB보다 클 수 없습니다. 그러나 창 크기 조정이 협상되므로 더 높은 처리량이 가능해야합니다. 이를 통해 두 가지 가설을 조사 할 수 있습니다.
- 클라이언트에서 서버로의 경로에서 창 크기 조정 옵션을 조작하여 서버가 창을 1의 배율로 조정했다고 생각합니다.
- 서버는 각 연결에서 60KB 이상의 전송 창을 사용하지 않도록 구성 될 수 있습니다.
첫 번째는 서버에서 패킷 캡처를 수행 할 수 있는지 쉽게 확인할 수 있습니다. 들어오는 SYN 패킷의 스케일링 옵션을보고 서버가 1보다 큰 스케일링 계수를 수신하는지 확인하십시오. 트래픽 분석에 Wireshark를 사용하는 것이 좋습니다.
두 번째 가설을 검증하려면 사용중인 운영 체제에 대한 지식이 필요합니다. 내가 알 수없는 운영 체제를 선택 했으므로 도와 드릴 수 없습니다. 따라서 네트워킹 전문 지식 만 도울 수 있습니다.