@husainovcom

В автокомпозитном режиме для каждого пользователя перезаписывается кэш. Можно ли исправить?

Всем привет

Настроил композитный сайт для интернет-магазина в автоматическом режиме и в настройках установил:
Перезапись кэша - стандартный режим (без задержки по времени);
Механизм хранения - memcached;

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

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

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

На большинстве страниц фиксирует такие изменения:
spoiler
1) В каждом пункте меню второго уровня
До перезаписи:
<button class="open_list fa fa-angle-down visible-xs" data-id="cat_mobile_DHD"></button> <!-- for mobile -->
</div>
<ul class="bx-nav-list-3-lvl hidden_list" id="cat_mobile_DHD">

После:
<button class="open_list fa fa-angle-down visible-xs" data-id="cat_mobile_5Bl"></button> <!-- for mobile -->
</div>
<ul class="bx-nav-list-3-lvl hidden_list" id="cat_mobile_5Bl">

2) В конце страницы:
До перезаписи:
</body>
</html>
<!--658042558a7bfec9a36ab43cee4a9940-->

После:
</body>
</html>
<!--4e07ddc52276c4d1fa429ce3bcf67744-->

В панеле производительности, в разделе разработки выводит ошибку "1-й тип не кешированное меню" и на некоторых страницах дополнительно выводит "2-й тип: не кешированные компоненты.
bitrix:sale.basket.basket.line"

Как это исправить?

P.s. подскажите, пожалуйста, оптимальные настройки кэширования для небольшого интернет-магазина (600-700 наименований), хостинг reg.ru. В ispmanager настроено сжатие (уровень 5) и кэширование (7 дней). Нужно ли изменить?
Нужно ли дополнительно прописывать директивы в htaccess и что это дает?
Сколько памяти выделить под memcached? ОЗУ 2гб, сейчас выделено 64мб.
  • Вопрос задан
  • 266 просмотров
Пригласить эксперта
Ответы на вопрос 1
suffix_ixbt
@suffix_ixbt
https://www.babai.ru/
1.

memcached - это для кластера. Если одна машина он не то что не полезен, а даже вреден. Ставьте тип кэширования: "Файлы". Файловый кэш в Линукс прекрасно работает.

2.

Композитный сайт, совершенно недоработанная "фича" Битрикса. Под неё надо конкретно затачивать всю логику и практически переписывать всё (если хоть на миллиметр что-то от дефолта отходит). Да, можно затратив кучу времени и сил это сделать, но считаю что овчинка не стоит выделки. Сайт на Битрикс можно сделать быстрым как ракета и без технологии композита.

3.

У Вас интернет-магазин для души что ли ? Или таки для прибыли ? Жадность порождает бедность - возьмите выделенный сервер (не топовый) с нормальным количеством оперативки и не придётся экономить на спичках. Я не понимаю как "бизнес" не может выделить несколько тысяч рублей в месяц на железо.

Лучше потратить время на раскрутку своего магазина, на логистику и организацию работы, чем тратить время на "композит" и выжимание копеек из слабой vps-и.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы