Оптимизация структуры веб-страниц. Распределенное хранение контента (CDN). Обзор методов клиентской оптимизации
Стадии загрузки страницы
Распределенное хранение контента (CDN)
У всех браузеров существует ограничение на количество соединений на один хост, находящееся в интервале от 2 до 8 соединений на хост. Для увеличения скорости загрузки внешних объектов можно использовать распределенную систему хранения и доставки контента (CDN), организовав или арендовав систему хостов находящихся на одном или нескольких физических серверах (географически распределенных, если это требуется). Часть хостов должны принимать и обрабатывать запросы пользователей, создавать и передавать результирующие HTML-документы. Остальные хосты должны использоваться только для передачи клиентом статических ресурсов. Благодаря такой схеме скорость доставки контента пользователям будет максимальной, в тоже время нагрузка на хостинг веб-сайта может значительно снизиться.
Необходимо заметить, что разделять по нескольким хостам имеет смысл только изображения и файлы CSS, так как файлы JavaScript почти во всех браузерах загружаются строго последовательно.
Создать подобную систему распределенного хранения можно либо при помощи автоматического балансировщика, либо установив альтернативные пути к внешним объектам вручную.
Большое число дополнительных хостов может увеличить временные затраты браузера на установление соединений, поэтому в наибольшем количестве ситуаций предпочтительно использование не более 5 дополнительных хостов (1 основной хост и 4 для параллельной загрузки кэшируемых объектов) без учета не контролируемых вами, например рекламных, хостов. Это позволяет ускорить загрузку приблизительно на 60% в случае большого количества файлов.
Подробнее о системах распределенного хранения контента (CDN) рассказано в пятой главе.