Html кэширование рекомендуется включать

Как ускорить сайт на 1С-Битрикс: кэширование

Рассказываем о кэшировании и технологии «Композитный сайт».

Как происходит загрузка страницы: сервер ищет последние записи, генерирует шапку, блоки, подвал страницы, загружает модули и виджеты. Если кэширования нет, то каждый раз посетитель сайта ждет полную загрузку страницы от сервера. Больше запросов к одной странице — больше ресурсов нужно для загрузки. Чем больше посетителей на странице, тем медленнее сервер загружает их для каждого.

Как кэширование помогает решить проблему с нагрузкой: запоминает конечный результат и позволяет пропустить обработку каждого запроса к странице. При первом посещении страницы информация сохраняется в хранилище, чтобы в следующий раз не загружать ее повторно. Благодаря этому сайты открываются быстрее. Это положительно влияет на SEO и формирует позитивное отношение пользователей к ресурсу за счет быстрой загрузки. Время генерации страниц и нагрузка на сервер сокращается, сайт открывается быстро.

Рассмотрим типы кэширования — в браузере и на стороне сервера.

Кэширование в браузере

Кэширование в браузере происходит на стороне пользователя. При первом посещении сайта кэш сохраняется локально. При последующих визитах браузер не тратит время на обращение запроса к серверу: он анализирует, есть ли эти файлы в кэше и подгружает их.

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

Кэширование на стороне сервера

В этом типе кэширования данные страниц хранятся на сервере. Пользователь запрашивает страницу сайта: по специальному алгоритму программы собирают страницу из элементов и отправляют браузеру для отображения.

Читайте также:  Комментарии к новостям php

При отсутствии кэширования и увеличении количества пользователей возрастает нагрузка на сервер, так как для каждого пользователя нужно отдельно отобразить страницу. Ресурсов сервера может не хватить, а скорость загрузки сайта ощутимо снижаться.

Проблему решает серверное кэширование. По нему первый пользователь запрашивает страницу, сервер ее загружает и сохраняет в хранилище. Когда другой пользователь запрашивает эту страницу, сервер не собирает ее заново, а выдает ту, которая сохранилась у него в кэше.

Результат: сокращается работа сервера, ресурсы не используются нерационально, мощности хватает на обработку большего количества запросов одновременно.

Настроить кэширование на сервере можно с помощью memcached. Memcached — способ кэширования данных в оперативной памяти на основе хеш-таблицы.

Такой способ позволяет быстро обрабатывать десятки запросов, необходимых для обработки одной страницы, однако требует много оперативной памяти. Поэтому стоит рассмотреть настройку кэширования на CMS «1С-Битрикс». В документации для администраторов сайта есть несколько вариантов для проекта на 1С-Битрикс.

Способы кэширования на 1С-Битрикс

Кэширование снижает время отклика сайта и увеличивает его устойчивость при нагрузках. Реализуется следующими способами:

  • Автокеширование — все динамические компоненты получают встроенную поддержку управления кэшированием и загружаются без запроса к базе данных.
  • Неуправляемое кеширование — позволяет ограничить время кэширования компонентов. Если время не истекло, то вместо ресурсоемкого кода отдается предварительно созданный файл.
  • Управляемый кеш — автоматически обновляет кэш компонентов при изменении данных.
  • Кеширование меню — кэш обновляется при редактировании меню или изменении прав доступа к файлам и папкам через административный интерфейс и API.
  • HTML кеш — рекомендуется включать на редко обновляемый раздел сайта с регулярным посещением пользователей. Сейчас технология считается устаревшей, вместо нее используют Композитный сайт.
  • Композитный сайт — ускоряет выдачу страниц за счет создания кэша статического контента.

Рассмотрим композитный сайт подробнее.

Настройка работы композитного сайта на nginx

Композитный сайт — технология, которая увеличивает скорость загрузки сайта на 1С-Битрикс. Статическая информация сайта записывается в кэше и при повторном обращении пользователя быстро отображается.

При включении стандартного автокомпозита 1С-Битрикс отображение страниц сайта осуществляется через уровень PHP. После включения работы композитного сайта на nginx отображение страниц осуществляется на уровне nginx. Алгоритм выглядит как на схеме. С этой настройкой скорость загрузки увеличивается до 10%.

Кэширование ускоряет работу сайта для клиентов и снижает нагрузку на хостинг. Особенно полезно его использовать во время привлечения новых пользователей на ресурс.

Если нужна помощь или возникнут вопросы, напишите нам. С радостью поможем. Желаем высоких конверсий вашему проекту!

Начните мощную работу вместе с Reddock – заполните форму заказа услуги, и мы свяжемся с вами в ближайшее время!

Источник

Разработчик Bitrix Framework. Технологии

— $APPLICATION->ShowTitle();
— $APPLICATION->AddPanelButton(array());
+ $APPLICATION->ShowPanel = true;

Чтобы ещё лучше понимать всю архитектуру построения системы и сервера, то рекомендуем Вам пройти курсы Microsoft, которые теперь доступны для всех желающих за разумные деньги! Позаботьтесь о своих знаниях и опыте, чтобы в любой момент знать как исправить любые ошибки с Вашим сайтом.

2. Кеширование – инструмент повышения:

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

+ производительности проекта
— масштабируемости проекта
— отказоустойчивости проекта

3. Функции-обработчики событий RegisterModuleDependences и AddEventHandler отличаются

+ RegisterModuleDependences производит регистрацию в базе данных, а AddEventHandler в файле init.php.
— RegisterModuleDependences производит регистрацию в /bitrix/php_interface/, а AddEventHandler в базе данных
— RegisterModuleDependences и AddEventHandler не влияют на производительность базы данных, т.к работают с модулями системы и не нагружают базу данных запросами
+ RegisterModuleDependences работает с обработчиками модуля, а AddEventHandler — с обработчиками вне модулей

4. Для реализации внешней авторизации необходимо создать обработчик соответствующего события в файле

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

— /bitrix/php_interface/scripts/phpbb.php
— /bitrix/admin/php_interface/init.php
— /bitrix/php_interface/scripts/init.php
+ /bitrix/php_interface/init.php

5. HTML кеширование рекомендуется включать:

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

— для любых сайтов
+ для сайтов, где информация обновляется не часто, и ходят в основном анонимные пользователи
— для сайтов, обновление которых происходит постоянно в течение дня
— для сайтов с высокой посещаемостью
— для сайтов, где конечный размер HTML в среднем не менее 100Кб

6. Чтобы агент выполнился в заданное время необходимо:

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

+ зарегистрировать его в системе
— не включать опцию «периодический»
— добавить запись для агента в системный планировщик cron
— при создании агента обязательно указать модуль

7. Технология отложенных функций:

— позволяет выполнять функции на следующих хитах после их вызова
+ позволяет задавать заголовок страницы, пункты навигационной цепочки, CSS стили, дополнительные кнопки в панель управления, мета-теги и так далее.
+ используется в компонентах

— требует специальную поддержку со стороны php
+ выводит результаты своей работы в прологе, то есть выше по коду, чем они были заданы.
— позволяет определить код функции после её вызова
+ позволяет фрагментировать контент страницы, обеспечивая временное откладывание выполнения других функций.

8. Управляемый кеш рекомендуется выключать:

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

— для сайтов с высокой посещаемостью
— для любых сайтов
— для сайтов, где информация обновляется не часто, и ходят в основном анонимные пользователи
+ для сайтов, обновление которых происходит постоянно в течение дня

9. Если функция-агент не принадлежит ни одному из модулей, то ее необходимо разместить:

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

— в файле /bitrix/modules/ID модуля/include.php
+ в файле init.php
— в файле /bitrix/php_interface/dbconn.php

10. Если информация отдается из кэша до тех пор, пока она не поменяется в базе данных и кэш сбросится автоматически, то это:

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

— Авто кэширование.
+ Авто + Управляемое кэширование

11. Управляемое кеширование отличается от неуправляемого тем, что:

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

+ Неуправляемое кеширование не перестраивается автоматически после модификации исходных данных
— Неуправляемый кеш удаляется только вручную
— В неуправляемом кешировании нельзя задать время кеширования
— В неуправляемом кешировании применяется специальный алгоритм, который учитывает тот факт, что большая часть посетителей — это незарегистрированные пользователи

12. Функция для регистрации обработчиков событий, расположенных в модулях

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

— CEvent::Register
— CEvent::Add
— ExecuteModuleEvents
+ RegisterModuleDependences
— AddEventHandler

13. Повлиять на ход выполнения какой-нибудь API функции лучше всего с помощью:

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

— Модификацией кода модуля
— Модификацией кода компонента
+ Функционала обработчиков событий
— Кода в файле component epilog
— Кода в файле result_modifier

14. Отложенные функции:

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

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

15. Для обеспечения внешней авторизации в продукте «1С-Битрикс» необходимо установить обработчик события

Внимание! На этот вопрос нужно обязательно дать правильный ответ. Если ответ будет не правильным, то тест не будет пройден, даже если вы наберёте нужное число баллов.

— OnBeforeUserLoginByHash
+ OnUserLoginExternal
— OnAfterUserLogin

Источник

Оцените статью