Почему менеджер загрузок должен использовать полную скорость загрузки, доступную через isp с компьютера в Калифорнии, получающего доступ к экземпляру ec2 в Вирджинии? - PullRequest
0 голосов
/ 23 сентября 2011

Пока что я получаю в среднем 700 килобайт в секунду для загрузок через хром, попав в экземпляр ec2 в Вирджинии (регион восток США).Если я загружаю напрямую с s3 в Вирджинии (восточный регион США), я получаю 2 мегабайта в секунду.

Я упростил этот способ до простого запуска apache и чтения файла с подключенного тома ebs.Менее одного процента времени, когда я видел загрузку, составляла около 1800 килобайт в секунду.

Я также пробовал nginx, без разницы.Я также попытался запустить большой экземпляр с 7 ГБ ОЗУ.Я попытался выделить 6 ГБ оперативной памяти для jvm и запустить tomcat, потоковую передачу файлов в памяти из s3, чтобы избежать диска.Я попытался включить sendfile в apache.Ничего из этого не помогает.

Когда я запускаю чтение из apache из файловой системы и использую менеджер загрузок, такой как downthemall, я всегда получаю 2 мегабайта в секунду при загрузке с экземпляра ec2 в Вирджинии (США-восток).область, край).Как будто мой apache настроен на разрешение только 700 мегабайт на поток.Я не вижу никаких параметров конфигурации, связанных с этим.

Что мне здесь не хватает?Я также сравнивал загрузку с Dropbox, так как они также используют ec2, и заметил, что там я получаю примерно 700 килобайт в секунду, что тоже очень медленно.Я предполагаю, что они должны разместить свои экземпляры ec2 в Вирджинии / США-восточном регионе, а также исходя из скорости.Если я использую менеджер загрузок для загрузки файлов из Dropbox, я получаю также 2 мегабайта в секунду.

Это как раз тот случай с tcp, когда, если вы находитесь далеко от сервера, вам придется разделять передачи на кускии загружать их параллельно, чтобы насытить ваше сетевое соединение?

1 Ответ

1 голос
/ 25 сентября 2011

Я думаю, что ваше последнее предложение верно: ваши 700 Мбит / с - это, вероятно, ограничение данного TCP-соединения ... возможно, дроссель, наложенный EC2, или, возможно, ваш ISP, или браузер, или роутер на этом пути - не знаю,Менеджеры загрузки, вероятно, разделяют запрос на несколько соединений (я думаю, это называется «несколькими источниками»), склеивая вещи в правильном порядке после их поступления.Разумеется, зависит от того, какое программное обеспечение вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...