Время первого байта против CDN?

В чем разница между загрузкой страницы через CDN и какие провайдеры вы используете?

У меня время загрузки при использовании CDN значительно больше. Я что-то делаю не так или чего-то не знаю? Возможно, мне стоит настроить какие-то параметры, о которых я не осведомлен?

CDN будет работать медленнее, пока не закэширует ресурсы. Возможно, вам придется подождать некоторое время, прежде чем проводить тестирование.

Что ж, первая подсказка … спасибо .
Немного. Сколько именно? Мы говорим о днях или неделях?

Стоит ли отправлять полезную нагрузку через HTTPS или лучше через HTTP? Я спрашиваю, потому что есть различия в скорости загрузки. От чего это зависит: от того, что страница загрузилась полностью, или выглядит так, будто оригинальный JavaScript вообще не был загружен??

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

Если ваш дата-центр находится рядом с вами, а сервер CDN удалён на 1000 км, скорость всегда будет ниже. Идея CDN заключается в улучшении обслуживания географически разнородной аудитории, а не в ускорении централизованных обращений.

Но речь идет о ситуации, когда мы добавляем адрес CDN в наш файл app.yml, или нет?

И какова причина использования поддомена для адреса CDN? То есть, почему нельзя использовать DISCOURSE_CDN_URL: //637763234.cdn-provider.com, а должно быть discourse-cdn.example.com??

Да, я знаю, но я проверяю с помощью различных инструментов тестирования из многих регионов мира. И CDN всегда работает медленнее!

Вы говорите о TTFB для какого именно пути?

TTFB для статического ресурса (например, JS-файла или загруженного пользователем JPG) всегда будет низким при использовании CDN, так как задержка нескольких PoP только способствует этому.

Сравнивать TTFB для динамических маршрутов, с другой стороны, бессмысленно, поскольку наш DISCOURSE_CDN_URL их всё равно не охватывает.

Можете объяснить точнее, что вы имеете в виду?

Вот результаты для тестового форума. (кстати, он появился чуть быстрее) // Но это только на новом домене без контента.

а для созданного через CloudFront:

То, что вы видите, — это просто нормальная вариативность. CDN не повлияет на время получения первого байта в корне вашего экземпляра Discourse или в любом другом динамическом маршруте. CDN будет обслуживать только статические ресурсы.

А есть ли разница, если эти ресурсы (статические файлы) хранятся в S3?

Нет, их нет. CDN будет кэшировать эти ресурсы из S3 по мере необходимости.

Это просто красивое имя, оно совершенно не нужно.

Я надеялся, что CDN ускорит загрузку страницы, но, похоже, эффект будет незначительным.

Есть ли другие, гораздо более эффективные способы ускорить загрузку страницы для разных регионов мира, помимо увеличения ресурсов оперативной памяти и процессора?

TTFB — это время, за которое сервер приложения отправляет ответ 200. Ускорить его с помощью CDN невозможно, так как CDN обслуживает только статические ресурсы.

Это ускорит загрузку страницы, но не сократит время до первого байта. Ускорится загрузка мультимедийного контента (изображений, PDF-файлов, видео) и JavaScript-скриптов. Это повысит отзывчивость сайта, однако весь динамический контент по-прежнему будет загружаться с центрального сервера.

Так, например, аватары пользователей будут загружаться быстрее, но не заголовки тем.

Поскольку Discourse блокирует рендеринг в ожидании JS и CSS, вы всё равно сможете сделать страницу интерактивной быстрее, используя CDN.

Такой анализ требует больше, чем просто запуск Lighthouse и WebPageTest, выбор одного из результатов и зацикливание на нём.

Если ваша цель — получить более высокий балл на этих инструментах, рекомендую вести блог с помощью таких инструментов, как https://jekyllrb.com/.

Как же мне тогда его анализировать?