Webasyst как сбросить кэш

Обновлено: 05.07.2024

Ситуация следующая: был сайт www.mysite.com оставил много разных куков, кэшированных картинок и стилей css. Сайт обновился, но кэшированная информация у пользователей мешает нормальной работе (особенно google chrome 29). Если отчистить историю+кэш+куки всё отлично начинает работать. Можно ли как то принудительно при первом заходе заставить браузер удалить информацию по этому сайту, а далее уже кэшировать "как всегда"?

7,130 4 4 золотых знака 26 26 серебряных знаков 49 49 бронзовых знаков Я читал про это, в таком случае он не будет кэшироваться вообще, а мне в идеале хотелось бы "отчистить" а потом кэшировать как всегда Пройдитесь по домам ваших посетителей и почистите тогда им кэш :) Как вы представляете себе - все пользователи зайдут к вам одновременно в тот период, когда у вас сервер будет отдавать эти хедеры? Раскиньте мозгами - "маркируйте" очищенных с помощью куков - зашел пользователь? Зашел. Есть кука? Нет. Тогда получи с хедером и поставь новую "маркер"-куку. Следующий раз зайдет - проверяйте "маркер"-куку. Есть? Отлично - не шлите больше хедеров. Продержите такое на время, пока не почувствуете, что пора завязывать с этим механизмом и все "проапдейтились".

Или слать header в страницах (как-то в таком стиле)

3,510 14 14 серебряных знаков 27 27 бронзовых знаков

У вас, это то не беда, чтоб на сайте отображались css правильно (как я понял вы его меняете периодически и это ломает отображение сайта) надо всего лишь сделать все время новый адрес загрузки css вот так:

и все браузер будет думать что файл css все время новый и верстка ломаться не будет

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

я уже кучу сайтов с авторизацией сделал и такого ниразу не встречал, что мне делать? я просто в шоке.

В статье мы расскажем, что такое Memcache, зачем он нужен и как он влияет на работу некоторых популярных CMS.

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

Memcached - программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы. Проще говоря, когда страница сгенерирована, она через memcached помещается в оперативную память, и при последующем обращении к странице незачем её генерировать снова, затрачивая время и ресурсы сервера - она попросту берётся из memcached.

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

Подключить персональный memcached возможно в Панели управления, в разделе Сервисы.


Для установки доступно несколько тарифов:
128 Мб - 1 руб./день
256 Мб - 2 руб./день
1024 Мб - 4 руб./день


Для многих систем управления сайтом (CMS) существуют механизмы работы с memcached. Далее мы рассмотрим настройку memcached для самых популярных CMS и проведем нагрузочное тестирование с целью узнать, как изменится производительность сайта.

Для тестирования производительности сайтов будем использовать утилиту siege.
Для каждой CMS будем проводить тестирование со временем 5 минут.

WordPress и memcache

Для установки плагина работы с memcache, нужно зайти в административную панель сайта (http://site.ru/wp-admin/), затем в выпадающем списке меню "Плагины", выбрать пункт "Добавить новый":


На открывшейся странице в верхней части есть поиск по плагинам, нужно ввести в это поле название плагина WP-FFPC и нажать "Enter":


Затем нажать "Установить":


И активировать плагин:


Готово, плагин установлен, осталось его настроить, для этого нужно зайти в настройки плагина:


Установить тип расширения PHP Memcache (без d) можно для версий PHP 7.2 и ниже. Для версии 7.3 и выше Вы сможете выбрать только PHP Memcahed. Различия между этими двумя расширениями несущественны, оба расширения отвечают за подключение сайта к сервису Memcached.



Также стоит отметить, что в настройках плагина (вкладка "Backend settings") есть возможность указать логин/пароль для подключения к memcached:


указывать их не нужно, так как доступ к memcached возможен только с вашего аккаунта.

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

в конфигурационный файл CMS wp-config.php (находится в корневой директории сайта), о чем нам напоминает сам плагин:


Отредактировать wp-config.php можно как через консоль ssh, например через утилиту PuTTy, так и через Файловый менеджер, который встроен в Панель управления хостингом:




На этом настройку можно закончить, сайт будет использовать систему кеширования memcached.

Скорректировать настройки кеширования при необходимости можно в настройках плагина, например, время "жизни" кеша для определенных элементов сайта:


Ключ для кеширования:


По умолчанию это:

На вкладке "Cache exceptions" можно настроить различные исключения для кеширования, такие как:

  • кеширование для залогиненных пользователей сайта (по умолчанию выключено);
  • кеширование отдельных элементов сайта (Exclude home/Exclude feeds/Exclude archives/Exclude pageg/Exclude singulars) и динамических страниц (Dynamic requests) по умолчанию включено;
  • кеширование для страниц, начинающихся с /wp- , по умолчанию выключено.


Проведем тестирование скорости загрузки страниц сайта, с помощью утилиты siege, время для тестирования - 5 минут. Результат при отключенном memcached:

Transactions: 7258 hits - количество опрошенных страниц сайта за 5 минут
Response time: 0.49 secs - среднее время ответа сервера при запросе

Результат с включенным memcached:

Transactions: 11518 hits - количество опрошенных страниц сайта
Response time: 0.12 secs - среднее время ответа сервера

Как видно, кеширование уменьшило время ответа сервера в 4 раза.

Joomla и memcache


Выбрать пункт "Система":


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

  • Кеш -> Стандартное кеширование
  • Обработчик кэширования -> Memcache


Нажать кнопку "Сохранить" в верхней части страницы.


Готово, сайт настроен для работы с memcached.

Проведем замер производительности, без использования memcached:

С использованием memcached:

Видно уменьшение времени генерации ответа сервером - 0.09 сек. против 0.13 сек.

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

Drupal и memcache

Первым делом нужно подключится к серверу по ssh, например через утилиту PuTTy, затем в консоли ssh-клиента перейти в корневую директорию сайта с drupal'ом:

Полный путь до сайта можно посмотреть в Панели управления, в разделе Сайты:

и выполнить команду:

Плагин установлен, осталось добавить несколько строк настроек в файл конфигурации CMS, по умолчанию этот файл (относительно корня сайта) находится по пути

./sites/default/settings.php

Для его редактирования из консоли можно воспользоваться одним из редакторов файлов, например vim или nano, также файл можно отредактировать из Панели управления, перейдя в раздел Файловый менеджер:



И сохранить его:


Установка плагина завершена, осталось его активировать, для это нужно зайти в административную панель сайта http://site.ru/admin/ перейти в раздел "Модули":


в самом низу страницы отметить чекбоксы для активации плагина и нажать кнопку "Сохранить":


Установка завершена, сайт использует кеширование memcache.

Проведем тест скорости загрузки страниц сайта с помощью siege:

Без использования memcached:

с использование memcached:

Видим прирост производительности на одну треть.

Bitrix и memcache

Для подключения кеширования memcache в CMS Bitrix необходимо отредактировать файл:

./bitrix/php_interface/dbconn.php (если версия ядра меньше 14.0)

./bitrix/.settings_extra.php (если версия ядра выше 14.0). Если файл ./bitrix/.settings_extra.php отсутствует, то его необходимо создать.

Версию ядра можно посмотреть в разделе администрирования сайта, по умолчанию это ссылка:


Отредактировать необходимый файл можно, подключившись к серверу по ssh, используя утилиту PuTTy, или через Файловый менеджер, который встроен в Панель управления хостингом.


Если редактируется файл ./bitrix/php_interface/dbconn.php (версия ядра меньше 14.0), то следует добавить строки:


Если редактируется файл ./bitrix/.settings_extra.php (версия ядра выше 14.0), то следует добавить строки:


Для проверки, что сайт использует memcached, следует перейти в административную панель сайта->настройки->панель производительности->Битрикс:


Хранение кеша должно быть установлено в memcache:


Сравним производительность сайта.

Без использования memcached:

с использование memcached:

Видим, что сервер тратит меньше времени на генерацию страницы:

С увеличением контента и посетителей ресурса разница будет значительнее.

Насколько мы видим, все представленные CMS работают быстрее. При этом тестирование проводилось на CMS «из коробки» (установка производилась из Панели управления, раздел CMS), т.е. без контента, а это означает, что на рабочих и заполненных сайтах увеличение скорости работы будет видно более явно.

Webasyst и memcache

Для использования memcached с Webasyst требуется создать в каталоге сайта файл wa-config/cache.php с следующим содержимым:

Убедиться, что кэширование работает, можно, создав в корне сайта файл с таким кодом:

При обращении к нему будут выведены все ключи данных, хранящихся в Memcached.

Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел "Помощь и поддержка".

Читайте также: