Как эффективно использовать CloudFront для менее популярных сайтов? - PullRequest
0 голосов
/ 08 октября 2018

Мы создаем сайт, который содержит много изображений и данных.Мы многое оптимизировали, чтобы сделать сайт быстрее.Тогда мы решили использовать AWS CloudFront также, чтобы сделать его более быстрым для всех регионов мира.Приложение работает быстрее после интеграции CloudFront.

Но позже мы обнаружили, что данные будут загружаться в кэш CloudFront только тогда, когда веб-сайт запрашивает их.Поэтому мы опасаемся, что начальная загрузка займет то же время, что и без CDN, потому что сначала она загружается из S3 в CDN, а затем в пользователя.

Также мы использовали значения TTL по умолчанию (т. Е. 24 часа).В нашем случае пользователь может заходить на этот сайт один или два раза в неделю.Таким образом, в этом случае преимущество кэширования также не будет работать, потому что срок действия кэширования истекает через 24 часа.Решит ли вопрос увеличение времени TTL (максимального значения TTL) до большего значения?Это стоит больше денег?И я также читал, что увеличение продолжительности TTL не очень хорошая идея, так как имеет некоторые недостатки для обновления данных в s3.

1 Ответ

0 голосов
/ 08 октября 2018

Cloudfront будет кэшировать ответ только после того, как первый пользователь запросит его.Таким образом, это будет медленно для первого пользователя, но будет значительно быстрее для всех остальных пользователей после первого пользователя.Поэтому имеет смысл использовать Cloudfront.

Использование значения TTL по умолчанию - это нормально.Так как большинство пользователей увидят один и тот же контент, а на сайте много статических компонентов.Каждый пользователь, кроме первого, увидит быстрый ответ с вашего сайта.Вы можете даже сократить это время до 10-12 часов в зависимости от того, как часто вы ожидаете, что ваши данные изменятся.

Никаких дополнительных затрат на увеличение вашего TTL нет.Однако запросы о признании недействительными взимаются.Так что, если вы хотите удалить кеш, к нему будет добавлена ​​стоимость.Поэтому я бы предпочел, чтобы короткий TTL был настолько коротким, насколько ожидается, что ваши данные изменятся, поэтому вам не придется аннулировать существующие кэши при изменении ваших данных.В то же время максимальное количество пользователей может получить выгоду от вашего CDN.

Без дополнительной платы за первые 1000 путей, запрошенных для аннулирования каждый месяц.После этого $ 0,005 за путь, запрошенный для признания недействительным.

ОБНОВЛЕНИЕ: Если у вас есть только 1 пользователь, использующий веб-сайт в течение длительного периода времени (1 неделя или около того), это может бытьбольшая польза от использования CloudFront на всех.CloudFront и все службы кэширования эффективны только в том случае, если несколько пользователей запрашивают одни и те же ресурсы.

Однако при использовании CloudFront вы все еще можете получить незначительное преимущество, поскольку запросы будут перенаправляться из граничного местоположения в S3 через AWS.магистральная сеть, которая намного быстрее, чем интернет.Но будет ли это экономически эффективным для вас или нет, зависит от того, сколько пользователей используют веб-сайт и насколько он медленный.

Помимо использования CloudFront, вы также можете попробовать межрегиональную репликацию S3, чтобы увеличить общую скорость. Межрегиональная репликация может реплицировать ваши сегменты в другой регион по мере их добавления в один регион.Это может помочь минимизировать задержки для пользователей из других регионов.

...