Рассказываем о кэшировании и технологии «Композитный сайт».
Кэширование — это размещение данных в специальном месте для ускоренного доступа к ним в будущем.
Как происходит загрузка страницы: сервер ищет последние записи, генерирует шапку, блоки, подвал страницы, загружает модули и виджеты. Если кэширования нет, то каждый раз посетитель сайта ждет полную загрузку страницы от сервера. Больше запросов к одной странице — больше ресурсов нужно для загрузки. Чем больше посетителей на странице, тем медленнее сервер загружает их для каждого.
Как кэширование помогает решить проблему с нагрузкой: запоминает конечный результат и позволяет пропустить обработку каждого запроса к странице. При первом посещении страницы информация сохраняется в хранилище, чтобы в следующий раз не загружать ее повторно. Благодаря этому сайты открываются быстрее. Это положительно влияет на SEO и формирует позитивное отношение пользователей к ресурсу за счет быстрой загрузки. Время генерации страниц и нагрузка на сервер сокращается, сайт открывается быстро.
Рассмотрим типы кэширования — в браузере и на стороне сервера.
Кэширование в браузере
Кэширование в браузере происходит на стороне пользователя. При первом посещении сайта кэш сохраняется локально. При последующих визитах браузер не тратит время на обращение запроса к серверу: он анализирует, есть ли эти файлы в кэше и подгружает их.
Главный недостаток этого типа в том, что информация хранится только у пользователя. Как только он сбросит кэш или зайдет на страницу с помощью режима Инкогнито, браузер повторно будет обращаться к серверу для генерации страниц.
Кэширование на стороне сервера
В этом типе кэширования данные страниц хранятся на сервере. Пользователь запрашивает страницу сайта: по специальному алгоритму программы собирают страницу из элементов и отправляют браузеру для отображения.
При отсутствии кэширования и увеличении количества пользователей возрастает нагрузка на сервер, так как для каждого пользователя нужно отдельно отобразить страницу. Ресурсов сервера может не хватить, а скорость загрузки сайта ощутимо снижаться.
Проблему решает серверное кэширование. По нему первый пользователь запрашивает страницу, сервер ее загружает и сохраняет в хранилище. Когда другой пользователь запрашивает эту страницу, сервер не собирает ее заново, а выдает ту, которая сохранилась у него в кэше.
Результат: сокращается работа сервера, ресурсы не используются нерационально, мощности хватает на обработку большего количества запросов одновременно.
Настроить кэширование на сервере можно с помощью memcached. Memcached — способ кэширования данных в оперативной памяти на основе хеш-таблицы.
Такой способ позволяет быстро обрабатывать десятки запросов, необходимых для обработки одной страницы, однако требует много оперативной памяти. Поэтому стоит рассмотреть настройку кэширования на CMS «1С-Битрикс». В документации для администраторов сайта есть несколько вариантов для проекта на 1С-Битрикс.
Способы кэширования на 1С-Битрикс
Кэширование снижает время отклика сайта и увеличивает его устойчивость при нагрузках. Реализуется следующими способами:
-
Автокеширование — все динамические компоненты получают встроенную поддержку управления кэшированием и загружаются без запроса к базе данных.
-
Неуправляемое кеширование — позволяет ограничить время кэширования компонентов. Если время не истекло, то вместо ресурсоемкого кода отдается предварительно созданный файл.
-
Управляемый кеш — автоматически обновляет кэш компонентов при изменении данных.
-
Кеширование меню — кэш обновляется при редактировании меню или изменении прав доступа к файлам и папкам через административный интерфейс и API.
-
HTML кеш — рекомендуется включать на редко обновляемый раздел сайта с регулярным посещением пользователей. Сейчас технология считается устаревшей, вместо нее используют Композитный сайт.
-
Композитный сайт — ускоряет выдачу страниц за счет создания кэша статического контента.
Рассмотрим композитный сайт подробнее.
Настройка работы композитного сайта на nginx
Композитный сайт — технология, которая увеличивает скорость загрузки сайта на 1С-Битрикс. Статическая информация сайта записывается в кэше и при повторном обращении пользователя быстро отображается.
При включении стандартного автокомпозита 1С-Битрикс отображение страниц сайта осуществляется через уровень PHP. После включения работы композитного сайта на nginx отображение страниц осуществляется на уровне nginx. Алгоритм выглядит как на схеме. С этой настройкой скорость загрузки увеличивается до 10%.
Настройте работу композитного сайта на nginx по инструкции нашего Справочного центра.
Кэширование ускоряет работу сайта для клиентов и снижает нагрузку на хостинг. Особенно полезно его использовать во время привлечения новых пользователей на ресурс.
Если нужна помощь или возникнут вопросы, напишите нам. С радостью поможем. Желаем высоких конверсий вашему проекту!