Пока что я получаю в среднем 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, когда, если вы находитесь далеко от сервера, вам придется разделять передачи на кускии загружать их параллельно, чтобы насытить ваше сетевое соединение?