Хочется уменьшить время скачивания дистрибутива программы. Сейчас использую связку S3+CloudFront, но у неё очень низкий уровень попадания в кэш: всего 46%. Больше половины запросов скачиваются из S3. Насколько я понимаю, это происходит из-за низкой популярности моего файла по сравнению с другими файлами на ноде у cloudfront.
Есть какие-нибудь альтернативы CloudFront, чтобы файлы не удалялись так быстро, а лучше не удалялись с нод совсем?
Здравствуйте, chebum, Вы писали:
C>Хочется уменьшить время скачивания дистрибутива программы. Сейчас использую связку S3+CloudFront, но у неё очень низкий уровень попадания в кэш: всего 46%. Больше половины запросов скачиваются из S3. Насколько я понимаю, это происходит из-за низкой популярности моего файла по сравнению с другими файлами на ноде у cloudfront.
А как проверили, анализировали логи? А то у нас такая же схема и я как то не задумывался что cache hit rate может быть такой низкий...
Здравствуйте, chebum, Вы писали:
C>Хочется уменьшить время скачивания дистрибутива программы. Сейчас использую связку S3+CloudFront, но у неё очень низкий уровень попадания в кэш: всего 46%. Больше половины запросов скачиваются из S3. Насколько я понимаю, это происходит из-за низкой популярности моего файла по сравнению с другими файлами на ноде у cloudfront.
C>Есть какие-нибудь альтернативы CloudFront, чтобы файлы не удалялись так быстро, а лучше не удалялись с нод совсем?
Вы уверены, что вы сами все правильно настроили? Может у вас для дистрибутива expire стоит 1 день?
Не понимаю, как ваши файлы могут вытеснить другие клменты, если вы за это заплатили.
У меня всего 1.5 тысячи закачек дистрибутива в месяц по всем нодам, поэтому файл вряд-ли можно назвать популярным.
Здравствуйте, icezone, Вы писали: I>Вы уверены, что вы сами все правильно настроили? Может у вас для дистрибутива expire стоит 1 день? I>Не понимаю, как ваши файлы могут вытеснить другие клменты, если вы за это заплатили.
Убедитесь что у вас в настройках CloudFront в табе Behaviors, Object Caching выставлен на Customize с нужным вам Minimum TTL, например 2592000 — 30 дней, а не 1 день как там по умолчанию. У вас же всё равно изменяется имя файла при новом релизе, ведь так?
И ещё раз, как вы посчитали cache hit rate? Если бы вы анализировали логи, то увидели бы там параметр x-edge-result-type со значениями Hit, RefreshHit, Miss и смогли бы определили причину. Например RefreshHit означает что кэш просрочен, а Miss то что они его удалили.
Здравствуйте, chebum, Вы писали:
C>Они пишут вот что: C>"If an object in an edge location isn't frequently requested, CloudFront might evict the object—remove the object before its expiration date—to make room for objects that are more popular." C>http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
C>У меня всего 1.5 тысячи закачек дистрибутива в месяц по всем нодам, поэтому файл вряд-ли можно назвать популярным.
Miss rate просчитал как отношение входящего к исходящему. На 100Гб исходящего получилось 54Гб входящего с S3.
Статистику подключил всего несколько дней назад. Думаю проанализировать в понедельник. Спасибо за наводку.
Заодно поменяю TTL как советует icezone.
Здравствуйте, BrutForce, Вы писали: BF>И ещё раз, как вы посчитали cache hit rate? Если бы вы анализировали логи, то увидели бы там параметр x-edge-result-type со значениями Hit, RefreshHit, Miss и смогли бы определили причину. Например RefreshHit означает что кэш просрочен, а Miss то что они его удалили.
Здравствуйте, chebum, Вы писали:
C>Есть какие-нибудь альтернативы CloudFront, чтобы файлы не удалялись так быстро, а лучше не удалялись с нод совсем?
CDN от MS, если ты влезешь в бесплатные лимиты от bizspark. вообще почему ты так об этом беспокоишься? можно взять vps с гиговой сетью (да хоть у того же ms или этот s3), при 50 закачках в день весь этот гигабит будет целиком доставаться одному скачивающему
Namecheap (шаред в Атланте) — 1,5 Мб/сек
DigitalOcean — 1,3 Мб/сек
Amazon CloudFront — 1 Мб/сек когда не в кэше и 3-5 Мб/сек когда в кэше, но что то больно уж часто файлы из кэша выпадают, хотя настроено всё правильно.
Cloudflare — 5-6 Мб/сек и это при том что он вообще exe не кэширует! То есть успевает скачивать по-быстрому с шареда Namecheap в Атланте и отдавать мне.
Внимание вопрос: нафига мне такой платный CDN — CloudFront, если толку от него никакого? Поменял ссылки — будет всё с Cloudflare раздаваться. Кстати подписались в этом месяце на их платный Pro-план за 20$, что бы врубить SSL. Гипотеза была что будет больше доверия к сайту — народ будет больше покупать, больше формы сабмитить (для нас это важно для B2B продаж). Но эффекта никакого не наблюдается, только время установки соединения с сервером на 60-80 мс вырастает, что сказывается на скорости загрузки сайта на мобильных устройствах (вернее на мобильных соединениях). Так что пока оставили SSL только на страницах с веб-формами и странице с ценами.