Динамическое ускорение сайта


Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Dynamic Site Acceleration (DSA) - это группа технологий, которые делают доставку динамических веб-сайтов более эффективной. [1] Производители контроллеров доставки приложений и сетей доставки контента (CDN) используют множество методов для ускорения динамических сайтов, в том числе:

Методы

Мультиплексирование TCP

Пограничное устройство, будь то ADC или CDN, способно к мультиплексированию TCP, которое может быть размещено между веб-серверами и клиентами для разгрузки исходных серверов и ускорения доставки контента.

Обычно для каждого соединения между клиентом и сервером требуется выделенный процесс, который живет в источнике на время соединения. Когда у клиентов медленное соединение, это занимает часть исходного сервера, потому что процесс должен оставаться в живых, пока сервер ожидает полного запроса. С мультиплексированием TCP ситуация иная. Устройство получает полный и действительный запрос от клиента перед отправкой его источнику, когда запрос полностью прибыл. Это разгружает серверы приложений и баз данных, которые медленнее и дороже в использовании по сравнению с ADC или CDN. [2]

Управление динамическим кешем

HTTP имеет встроенную систему управления кешем с использованием таких заголовков, как ETag , «истекает» и «последнее изменение». Многие CDN и ADC, которые утверждают, что имеют DSA, заменили это своей системой, назвав это динамическим кэшированием или динамическим управлением кешем. Это дает им больше возможностей для аннулирования и обхода кеша по сравнению со стандартным управлением кешем HTTP. [3]

Цель динамического управления кешем - увеличить коэффициент попадания в кеш веб-сайта, который представляет собой скорость между запросами, обслуживаемыми кешем, и запросами, обслуживаемыми обычным сервером. [4]

Из-за динамического характера веб-сайтов Web 2.0 сложно использовать статическое веб-кеширование . Причина в том, что динамические сайты по определению имеют персонализированный контент для разных пользователей и регионов. Например, мобильные пользователи могут видеть содержимое, отличное от того, что могут видеть пользователи настольных компьютеров, а зарегистрированным пользователям может потребоваться просмотр содержимого, отличного от того, что видят анонимные пользователи. Даже среди зарегистрированных пользователей контент может сильно различаться, например, веб-сайты социальных сетей .

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

Динамическое управление кэшем имеет больше возможностей для кэширования конфигурирования, таких как печенье на основе управление кэшем, что позволяет банке обслуживать содержимое из кэша на основе наличия или отсутствия конкретного печенья. Файл cookie хранит уникальный ключ-идентификатор зарегистрированного пользователя на их устройстве, и он уже реализован для аутентификации пользователей при выполнении любой страницы, открывающей сеанс, в системе динамического кэширования ссылки на кеши выполняются по URL-адресу, а также ключи cookie, позволяющие просто включить обслуживание кешей по умолчанию для анонимных пользователей и персонализированных кешей для вошедших в систему пользователей (не заставляя вас изменять код, чтобы он добавлял дополнительные идентификаторы пользователя к URL-адресу, как в системе статического кеширования) .

Предварительная загрузка

Если персонализированный контент не может быть кэширован, он может быть поставлен в очередь на пограничном устройстве. Это означает, что система будет хранить список возможных ответов, которые могут потребоваться в будущем, что позволяет их легко обслуживать. Это отличается от кэширования, поскольку предварительно выбранные ответы обслуживаются только один раз, что особенно полезно для ускорения ответов сторонних API , таких как рекламные объявления. [5]

Оптимизация маршрута

Оптимизация маршрута, также известная как «маршрутизация на основе задержки», оптимизирует маршрут трафика между клиентами и различными исходными серверами, чтобы минимизировать задержку. Оптимизация маршрута может выполняться провайдером DNS [6] или CDN. [7]

Оптимизация маршрута сводится к измерению нескольких путей между клиентом и исходным сервером, а затем к записи самого быстрого пути между ними. Затем этот путь используется для обслуживания контента, когда клиент в определенной географической зоне делает запрос. [8]

Связь с Front-end оптимизацией

Хотя Front-end Optimization (FEO) и DSA описывают группу методов для улучшения доставки онлайн-контента, они работают над разными аспектами. Есть совпадения, такие как сжатие данных на лету и улучшенное управление кешем, однако основные отличия заключаются в следующем:

  • FEO фокусируется на изменении фактического контента, тогда как DSA фокусируется на улучшении доставки контента, не затрагивая контент (т. Е. DSA имеет дословную доставку контента). DSA фокусируется на оптимизации доставки битов по сети без изменения контента, в то время как FEO стремится уменьшить количество объектов, необходимых для загрузки веб-сайтов, и уменьшить общий объем трафика. Это может быть выполнено с помощью обслуживания контента с учетом особенностей устройства (например, снижение качества изображений), минификации , консолидации ресурсов и встраивания. Поскольку FEO изменяет фактический трафик, настройка имеет тенденцию быть более сложной, поскольку существует риск повлиять на взаимодействие с пользователем. , показывая содержание, которое было неправильно изменено.
  • DSA фокусируется на сокращении времени загрузки страниц и разгрузке веб-серверов, особенно для динамических сайтов. FEO фокусируется в первую очередь на сокращении времени загрузки страницы и уменьшении пропускной способности. Тем не менее, экономия затрат на исходных серверах также может быть достигнута за счет реализации FEO, поскольку он уменьшает время загрузки страницы без переписывания кода, что, следовательно, экономит человеко-часы, которые обычно необходимы для оптимизации кода. Кроме того, доход может увеличиться за счет сокращения времени загрузки страницы.

использованная литература

  1. ^ http://www.globaldots.com/how-dynamic-site-acceleration-works/
  2. ^ "Архивная копия" . Архивировано из оригинала на 2014-02-26 . Проверено 1 мая 2014 .CS1 maint: заархивированная копия как заголовок ( ссылка )
  3. ^ «Центр знаний IBM» . www.ibm.com . Проверено 14 ноября 2018 .
  4. ^ «Что такое динамическое кэширование | section.io» . www.section.io . Проверено 14 ноября 2018 .
  5. ^ "Осуществляет ли Cloudflare предварительную загрузку?" . Поддержка Cloudflare . Проверено 14 ноября 2018 .
  6. ^ http://aws.amazon.com/about-aws/whats-new/2012/03/21/amazon-route-53-adds-latency-based-routing/
  7. ^ http://www.akamai.com/dl/feature_sheets/fs_edgesuite_sureroute.pdf
  8. ^ «Выбор политики маршрутизации - Amazon Route 53» . docs.aws.amazon.com . Проверено 14 ноября 2018 .
Источник « https://en.wikipedia.org/w/index.php?title=Dynamic_site_acceleration&oldid=929790688 »