2015-08-28 2 views
0

Я разрабатываю небольшое веб-приложение, и у меня есть некоторые файлы данных, хранящиеся в ведро s3 с настройкой CORS, которые должны быть доступны из клиентского браузера.Как улучшить TTFB от Amazon S3?

По какой-то причине мой вызов ajax для S3-файлов имеет очень высокую задержку (более 4 секунд для файла 7 КБ), из-за TTFB (как вы можете видеть в этом скриншоте инструментальных средств devs https://www.dropbox.com/s/4trx2m9m1v8visu/Screenshot%202015-08-28%2011.44.53.png?dl=1). И клиент, и ведро S3 находятся в Северной Калифорнии.

Любые идеи о том, что может происходить здесь, будут оценены.

благодаря

url = 'http://mybucket.s3.amazonaws.com/simdata.zip'; 
$.ajax({ 
    url: url, 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    success: function(response) { 
    console.log("received"); 
    }, 
    failure: function(response) { 
    // TODO: decent error message 
    alert('Unable to load'); 
    } 
}); 
+0

Что вы получаете, когда вы «закручиваете»/'wget' /' ab' файл из той же сети? – tedder42

ответ

0

4,40 s тратится на ожидание, AFAIK это время, затраченное на поиск ресурса на серверах AWS S3. У нас нет доступа к серверу серверов.

Загрузка содержания только 0.841s. Индикатор передачи сети превосходный.

Одна из рекомендаций, которая может решить вашу проблему, заключается в использовании CDN, т.е. CloudFront. См. http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/MigrateS3ToCloudFront.html

Альтернативой было бы использование небольшого экземпляра EC2 и размещение содержимого в памяти и подача zip-файла оттуда.

+0

* «afaik - это время, потраченное на поиск ресурса на серверах AWS S3». Это спекуляция и совершенно необоснованная, основанная на моем опыте с S3. Если вы включите [доступ к журналу входа в S3] (http://docs.aws.amazon.com/AmazonS3/latest/dev/LogFormat.html), для каждого запроса будет отображаться метка «время поворота»: * количество миллисекунд, которое Amazon S3 потратил на обработку вашего запроса. Это значение измеряется с момента получения последнего байта вашего запроса до момента отправки первого байта ответа. * –

Смежные вопросы