2011-09-23 2 views
0

지금까지 버지니아 (us-east 지역)의 ec2 인스턴스에 크롬을 통해 다운로드하면 초당 평균 700KB가 다운로드됩니다. 버지니아 (us-east region)의 s3에서 직접 다운로드하면 초 당 2 메가 바이트가됩니다.버지니아에서 ec2 인스턴스에 액세스하는 캘리포니아의 컴퓨터에서 isp를 통해 다운로드 할 수있는 전체 다운로드 속도를 활용하려면 다운로드 관리자가 필요한 이유는 무엇입니까?

간단히 아파치를 실행하고 탑재 된 ebs 볼륨에서 파일을 읽는 방법으로이 방법을 단순화했습니다. 다운로드 횟수가 초당 1,800 킬로바이트를 넘는 시간은 1 % 미만입니다.

나는 또한 nginx를 시도했지만 차이가 없었다. 또한 7GB의 RAM으로 큰 인스턴스를 실행 해 보았습니다. 6GB의 RAM을 jvm에 할당하고 바람둥이를 실행하여 디스크에 저장되지 않도록 s3에서 메모리에있는 파일을 스트리밍했습니다. 나는 아파치에서 sendfile을 가능하게했다. 이 모든게 도움이되지 않습니다.

파일 시스템에서 읽는 apache에서 실행하고 다운 타임과 같은 다운로드 관리자를 사용할 때 virginia (us-east region)의 ec2 인스턴스에서 다운로드 할 때마다 초당 2MB가 항상 발생합니다. 그것은 내 아파치가 스레드 당 700 메가 바이트만을 허용하도록 구성되어있는 것처럼 말입니다. 나는 이것과 관련된 어떤 구성 옵션도 보지 못한다.

무엇이 여기에 있습니까? 또한 드롭 박스 다운로드에서 ec2를 사용하면서 벤치마킹 한 결과, 초당 약 700KB의 데이터도 있음을 알았습니다. 느린 속도입니다. 나는 스피릿에 기반한 버지니아/미국 동부 지역에서도 ec2 인스턴스를 호스팅해야한다고 상상한다. Dropbox에서 다운로드 관리자를 사용하여 파일을 다운로드하는 경우 초당 2MB가 추가됩니다.

이것은 tcp와 마찬가지입니다. 서버에서 멀리 떨어져있는 경우 전송을 청크로 분할하고 parrallel에서 다운로드하여 네트워크 연결을 포화시켜야합니다.

+0

또한 사용자가 인증해야하고 개인 키를 통해 파일의 암호를 해독해야하므로 cdn이 작동하지 않습니다. – davidjnelson

+0

북 캘리포니아에있는 인스턴스가 다운로드 관리자없이 예상 속도를 제공한다는 것을 알았습니다. 원래의 질문은 버지니아에있는 인스턴스의 다운로드 속도를 기반으로했기 때문에 의미가 있습니다. 나는 왜 s2에서 초당 2 메가 바이트를 가져오고 버지니아/우리 동쪽 지역의 다운로드 관리자를 통해 ec2를 얻고, ec2를 통해 단일 스레드에서 다운로드 할 때가 아닌지 궁금합니다. – davidjnelson

답변

1

나는 마지막 문장이 맞다고 생각한다 : 700mbps는 아마도 주어진 TCP 연결의 제한 일 것이다 ... 어쩌면 EC2, 또는 아마도 ISP, 브라우저, 또는 라우터가 길을 따라 부과 한 스로틀 - 몰라. 다운로드 관리자는 요청을 여러 연결로 나누었을 가능성이 있습니다 (이것이 "다중 소스"라고 생각합니다). 도착한 후에 올바른 순서로 물건을 붙입니다. 이것이 사실인지 여부는 사용중인 소프트웨어에 따라 다릅니다.

+0

서해안 데이터 센터에서 최고 속도를 얻으므로 ec2, isp, 브라우저 또는 라우터가 아닙니다. 더 먼 거리에 있어야합니다. tcp는 연결을 포화시키기 위해 동시에 다운로드 된 대용량 파일을 필요로합니다. 왜 그 사람이 설명 할 수 있습니까? – davidjnelson

관련 문제