Динамическое ускорение сайта с помощью Azure сеть доставки содержимого
В связи со стремительным развитием социальных сетей, электронной коммерции и невероятной персонализацией Интернета все большая часть предоставляемого пользователям содержимого создается в режиме реального времени. Пользователям необходимы быстрые, надежные и настраиваемые решения, которые не зависят от браузера, расположения, устройства или сети. Однако сами же инновации, при всей привлекательности новых возможностей, замедляют загрузку страниц и создают неудобства в работе пользователя.
Сетевая возможность доставки содержимого уровня "Стандартный" включает возможность кэшировать файлы ближе к конечным пользователям, чтобы ускорить доставку статических файлов. Тем не менее, с развитием динамических веб-приложений кэширование содержимого в граничных расположениях невозможно, так как сервер создает содержимое в ответ на действия пользователей. Ускорить доставку такого содержимого сложнее, чем в традиционном пограничном кэшировании. Для этого требуется комплексное решение, которое точно настроит каждый элемент на протяжении всего пути данных — с момента их создания до доставки. Благодаря оптимизации динамического ускорения сайта (DSA) Azure сеть доставки содержимого производительность веб-страниц с динамическим содержимым значительно улучшается.
Azure CDN из Edgio предлагает оптимизацию DSA с помощью меню "Оптимизировано для меню во время создания конечной точки". Динамическое ускорение сайта от Майкрософт предлагается через Azure Front Door.
Внимание
Для Azure CDN из профилей Edgio невозможно изменить оптимизацию конечной точки сети доставки содержимого после его создания.
Конфигурация конечной точки сети доставки содержимого для ускорения доставки динамических файлов
Чтобы настроить конечную точку сети доставки содержимого для оптимизации доставки динамических файлов, можно использовать портал Azure, REST API или любой из клиентских пакетов SDK для программного выполнения.
Чтобы настроить конечную точку CDN для оптимизации DSA с помощью портала Azure, сделайте следующее:
На странице Профиль CDN выберите Конечная точка.
Появится диалоговое окно Добавить конечную точку.
В разделе Optimized for (Оптимизировано для) выберите Динамическое ускорение сайтов.
В поле Путь пробы введите допустимый путь к файлу.
Путь пробы — это функция DSA. Для создания необходим допустимый путь. DSA использует небольшой файл пути пробы, размещенный на исходном сервере, для оптимизации конфигураций маршрутизации сети для сети доставки содержимого. Вы можете скачать и передать на свой сайт пример файла или использовать в качестве пути пробы имеющийся ресурс на своем сервере-источнике, который имеет размер около 10 КБ.
Введите другие необходимые параметры конечной точки (дополнительные сведения см. в разделе "Создание новой конечной точки сети доставки содержимого"), а затем нажмите кнопку "Добавить".
После создания конечной точки сети доставки содержимого она применяет оптимизации DSA для всех файлов, соответствующих определенным критериям.
Оптимизация DSA с помощью Azure сеть доставки содержимого
Динамическое ускорение сайта в Azure сеть доставки содержимого ускоряет доставку динамических ресурсов с помощью следующих методов:
Оптимизация маршрутов
Оптимизации маршрутов важна, так как Интернет — это динамичная среда, в которой топология сети постоянно меняется под действием трафика и временных простоев. Протокол BGP — это протокол маршрутизации Интернета, но может быть более быстрый маршрут через промежуточные серверы точки присутствия (POP).
Оптимизация маршрутов выбирает самый оптимальный путь к серверу-источнику, чтобы сайт был постоянно доступен, а динамическое содержимое доставлялось пользователям по наиболее быстрому и надежному маршруту.
Сеть Edgio использует комбинацию Dns Anycast, высокопроизводительной поддержки pops и проверка работоспособности, чтобы определить лучшие шлюзы для оптимальной маршрутизации данных от клиента к источнику.
В результате полностью динамический и транзакционный контент поставляется более быстро и надежно конечным пользователям, даже если он не кэшируется.
Оптимизация TCP
Протокол управления передачей (TCP) — это стандарт набора протоколов Интернета, используемый для доставки информации между приложениями в IP-сети. По умолчанию для создания TCP-подключения требуется несколько двунаправленных запросов. Кроме того, существуют ограничения для предотвращения перегрузки сети, что может привести к неэффективности при работе в масштабе. Azure CDN из Edgio обрабатывает эту проблему, оптимизируя в трех областях:
устранение медленного запуска протокола TCP;
Медленный запуск TCP — это алгоритм протокола TCP, который предотвращает перегрузки в сети за счет ограничения объема данных, передаваемых по сети. При запуске между отправителем и получателем используются окна небольшого размера, чтобы избежать перегрузок. Постепенно размер увеличивается, пока не достигается максимум или не обнаруживается потеря пакетов.
Azure CDN из профилей Edgio устраняют медленное выполнение TCP со следующими тремя шагами:
Мониторинг работоспособности и пропускной способности используется для измерения пропускной способности подключений между пограничными POP-серверами.
Метрики совместно используются между пограничными POP-серверами, чтобы каждый сервер знал о сетевых условиях и работоспособности сервера других поставщиков.
Пограничные серверы сети доставки содержимого делают предположения о некоторых параметрах передачи, таких как оптимальный размер окна при взаимодействии с другими пограничными серверами сети доставки содержимого в его близости. Этот шаг означает, что начальный размер окна перегрузки может быть увеличен, если работоспособность подключения между серверами пограничных серверов сети доставки содержимого может выполнять более высокую передачу данных пакетов.
Использование постоянных подключений
При использовании сети доставки содержимого меньше уникальных компьютеров подключаются к серверу-источнику напрямую по сравнению с пользователями, подключающимися непосредственно к источнику. Azure сеть доставки содержимого также объединяет запросы пользователей, чтобы установить меньше подключений с источником.
Как упоминалось ранее, чтобы установить TCP-подключения, необходимо выполнить несколько запросов на подтверждение. Постоянные подключения, которые реализуются заголовком Keep-Alive
HTTP, повторно используют существующие TCP-подключения для нескольких HTTP-запросов, чтобы сохранить время кругового пути и ускорить доставку.
Azure CDN из Edgio также отправляет периодические пакеты по протоколу TCP, чтобы предотвратить закрытие открытого подключения.
Кэширование
При использовании DSA кэширование по умолчанию отключается в сети доставки содержимого, даже если источник содержит Cache-Control
или Expires
заголовки в ответе. DSA обычно используется для динамических ресурсов, которые не должны кэшироваться, так как они уникальны для каждого клиента. Кэширование может нарушить работу.
Если у вас есть веб-сайт с сочетанием статических и динамических ресурсов, лучше всего использовать гибридный подход, чтобы получить лучшую производительность.
С помощью Azure CDN Standard из профилей Edgio можно включить кэширование для определенных конечных точек DSA с помощью правил кэширования.
Чтобы перейти к правилам кэширования, сделайте следующее.
На странице Профиль CDN в разделе "Параметры" выберите Правила кэширования.
Откроется страница Правила кэширования.
Создайте глобальное или пользовательское правило кэширования, чтобы включить кэширование для конечной точки DSA.
Только для azure CDN Premium из профилей Edgio включите кэширование для определенных конечных точек DSA с помощью обработчика правил. Все созданные правила влияют только на те конечные точки профиля, которые оптимизированы для DSA.
Вот как можно перейти к обработчику правил.
На странице профиля CDN выберите Управление.
Откроется портал управления сетью доставки содержимого.
На портале управления сетью доставки содержимого выберите ADN, а затем — обработчик правил.
Кроме того, можно использовать две конечные точки сети доставки содержимого: одну конечную точку, оптимизированную для DSA, для доставки динамических ресурсов и другой конечной точки, оптимизированной для статического типа оптимизации, например общего веб-доставки, для доставки кэшируемых ресурсов. Измените URL-адреса веб-страницы, чтобы связаться непосредственно с ресурсом в конечной точке сети доставки содержимого, который вы планируете использовать.
Например, mydynamic.azureedge.net/index.html
— это динамическая страница, загружаемая из конечной точки DSA. HTML-страница ссылается на несколько статических ресурсов, таких как библиотеки JavaScript или изображения, загруженные из конечной точки сети доставки статического содержимого, например mystatic.azureedge.net/banner.jpg
и mystatic.azureedge.net/scripts.js
.