Comments 10
Географический парадокс: близость не гарантирует скорость
То же самое имеет место и в случае полного отказа от CDN.
HTML-документы: 1-5
CSS-файлы: 3-10
JavaScript-файлы: 5-20
Изображения: 20-100+
Шрифты: 2-10
API-вызовы: 10-50+
Вот это нужно в первую очередь оптимизировать. А всякие CDN и прочее — это уже потом. В идеале должен быть один небольшой CSS файл, один небольшой JavaScript (или вообще без него), никаких подгружаемых шрифтов. И поменьше всяких вызовов API, а лучше без них. Картинки да, сейчас без них никуда. Но не пару десятков на одну страницу уж точно. В идеале должно получиться что-нибудь вроде такого, и никакой CDN не будет нужен.
Что-то вроде такого у автора, конечно, есть, только вот свой основной блог он ведёт почему-то в обычном формате: WordPress 6.8.2.
Возможно, я когда-нибудь сделаю тему для WordPress, которая будет выдавать на выходе странички такой простоты, как в том примере.
Было бы интересно посмотреть. Можно пользоваться и попадать в клуб сайтов до 10 кб: https://10kb.club/
Отлично подмечено =D
Дело в том, что блог - корпоративный, приходится вести там, "где дали".
Но! Это скорее временное решение, всегда стремимся к чему-то лучшему
Могу ошибаться, но, насколько помню, сила cdn в способности навесить на 1 ip адрес много железок по всему миру. Что позволяет иметь стабильно низкий пинг до эджа с любого места. В теории то любой владелец сайта может заморочиться и сделать это, но это гемор и в плане взаимодействия с хостерами и в плане компетенций команды.
Без этой киллер фичи, даже, имея много ориджинов, все решения сомнительны. К примеру, попытки заставить dns отдавать разные ориджины сомнительны из-за того, что какой именно днс сервер будет спрашивать посетитель, и как тот сервер ответит - вещи неподконтрольные. Редиректы типа eu.mysite.com/us.mysite.com с прибиванием гвоздями поддоменов с ориджинами норм тема, если это аппка вроде таск трекера, но сомнительная тема, если это SEO история, ибо поисковик будет это видеть разными страницами. Ок, можно заморочиться, и апи коллы делать на ближайшие ориджин, если это SPA, но, все равно, статика будет тормозить.
Приведу реальный пример, где очень хотели уйти от CF, но не смогли. Есть сетка SEO сайтов с миллионами страниц в индексе гугла. Трафик примерно поровну идёт с Африки (реальные посетители), и с США (бот гугла, обновляющий свой индекс). Принципиально важно быстро отдать и там и там (тормоза на гугле -> пессимизация в выдаче. Тормоза в Африке -> посетители не дожидаются открытия страницы и идут дальше по выдаче). Страницы SSR (так лучше для SEO). Манипуляции с редиректами хз, как себя покажут для SEO. Итого, держат 2 ориджина (1 Европа ради Африки, второй - США ради гугла), CF дополнительно гарантирует, что
1) статика будет отдана с эджа
2) кеш мисс не приведёт к пересечению океана
Бро, ты описал буквально 0.1% кейсов, где CDN реально нужен =D
SEO-сетка с миллионами страниц, трафик с Африки и США поровну, Googlebot который требует мгновенного ответа - это, скорее, космос, а не типичный сайт.
По сути же 95% сайтов это "Пиццерия и точка" с 90% трафика из одного города, или блог программиста с 5К посетителей в месяц. Им впаривают CDN "для производительности", хотя все их пользователи в радиусе 500км от origin сервера.
Твои кейсы - реально про то, когда CDN действительно оправдан. Но индустрия продает CDN всем подряд, включая сайт автосервиса в Воронеже =D
Читая пресс-релизы, новости CloudFlare я просто делаю вывод, что он любит истории из разряда: "Смотрите, как мы помогли глобальному проекту!" А потом этим же CDN пытаются торговать локальному магазину носков.
50 ресурсов × 50мс DNS overhead = 2.5 секунды дополнительной задержки.
Почему DNS надо умножать на каждый ресурс? Если есть example.com и cdn.example.com для статики, то тут всего два DNS-запроса в рамках одной загрузки страницы, хоть там 1000 картинок будет.
Не забывайте добавлять DNS-prefetch:
<link rel="dns-prefetch" href="//cdn.example.com">
Для оптимизации количества SSL-рукопожатий да, HTTP/2,3 - необходимая вещь, как на origin-, так и на CDN- соединениях. Там даже куча маленьких файлов будет на ура стримиться в одном соединении.
С другой стороны, раз есть исследования, на которые есть ссылки в статье, значит, "это жжж - не спроста!". Интересная тема с RUM(Real User Monitoring) - сделать независимый тест на своих реальных пользователях сайта. Тут вопрос в тулинге - по хорошему, нужно писать свой непредвзятый инструмент, так как каждый CDN не факт что "не подыгрывает своим" запросам.
" Овerage-расходы:" - это что за винегрет из кирилицы и латиницы? Будто GPT криво написал
CDN Плацебо: Когда сети доставки контента замедляют сайты