Время ответа сервера или где включить кэш на сайте?

вот еще один сайт который лежит в “соседней папке” … у него тоже заголовки ответа другие и у него тоже время отклика значительно меньше … и я точно знаю, что кэш у него работает и это определено самим скриптом. А как понять, что у cs-cart работает?

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 01 Sep 2023 12:37:21 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/7.4.33
Cache-Control: no-cache
WPO-Cache-Status: cached
Last-Modified: Fri, 01 Sep 2023 07:55:05 GMT
Cache-Control: max-age=172800
Expires: Sun, 03 Sep 2023 12:37:21 GMT
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Nginx-Upstream-Cache-Status: MISS
X-Server-Powered-By: Engintron

PS: Кто в теме, по этой строке WPO-Cache-Status поймет о чем речь :slight_smile:

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

1 лайк

первым делом сделал … да, время отклика немного меняется … но параметры:

Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache

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

А с чего бы им меняться.

А с чего бы им не меняться? У других же сайтов меняется при включении выключении кэша.

app/Tygh/BlockManager/RenderManager.php

оставить там и там логи или принты прямо на экран и будете знать откуда тянет блоки.

1 лайк

спасибо. потихоньку начинаю понимать :slight_smile: задал вопрос хостеру … сотрудник пропал … ждем Федора :slight_smile:

1 лайк

правильно я понимаю, что Nginx кэш для инет магазинов не есть хорошо, поэтому не используется … а для просто сайтов прям даже тема?

Фух, тема сложная :slight_smile:
Кеш – всегда хорошо, но у нас нюанс, что страница с одним и тем же урлом разная для разных пользователей и кешировать её в ноль сервером не выйдет. А вот можно ли там как-то настроить хитрое кеширование (наверняка можно, но я не девопс прямо) 00 это уже другой вопрос.

Кешировать вордпрессные блоги – милое дело.

2 лайка

я так понял в ИМ проблема с сессиями возникает … и следующий “пациент” может увидеть данные предыдущего. Просто у меня какие то сайты в режиме каталога :slight_smile: без корзин … почти вордпресс :slight_smile:
а вот как получилось, что один сайт имеет Nginx кэш для меня загадка, т к в панели на хостинге Nginx нигде не упоминается

1 лайк

ну обычно это работает так что нгинкс отдаёт статику (картинки и файлики), а запросы на php проксирует дальше на апач или php-fpm (короче, какую-то штуку, которая плодит процессы php).

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

Ну и заголовки ответа же, как я и писал выше, не только сервер может ставить. Сам бэкенд тоже может что-то устанавливать. Если там какие-то настройки кастомных модулей не одинаковые, то модуль “какого-то кеша” может легко устанавливать такие заголовки.

1 лайк

так вот же, лучше не знать я и не знаю :slight_smile: а тут по дефолту ставлю а от во но че)

2 лайка

Ответ хостера

Я добавил 2 простых скриптах где задаются заголовки кеширования

xxxxxxxxxxxxxxxxxxx.php
xxxxxxxxxxxxxxxxxxx.php

По первому мы получаем ответ
X-Nginx-Upstream-Cache-Status: MISS
что говорит не кешировать страницу

Второй же скрипт отдает в заголовке
X-Nginx-Upstream-Cache-Status: HIT

т.е. страница будет кешироваться.

Если у Вас разные ответы по сайтам то это задается в самих скриптах. Настройки сервера не влияют на ответ, настройкой можно только полностью отключить кеширования на уровне заголовка.

Теперь жду ответа от cs-cart, чтобы заглянули в тему я уже попросил

1 лайк

наверное лауреат нобелевской премии, не иначе. Это говорит что нет кеша, т.е. не кешировано.

А это

что взято из кеша.

Это есть очень хорошо, nginx+memchached по скорости минимум равно varnish, а зачастую и сильно быстрей.

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

1 лайк

Что хостер баран и пишет бредятину, чего здесь непонятно.

не будет.

что будет когда мы закешируем главную страницу как неавторизованный пользователь, а потом войдём как авторизованный?

Ничего не будет, кто в здравом уме будет кешировать то, что кешировать не нужно. Для авторизованного пользователя можно закешировать все, что не меняется, не кешируя только ту информацию, которая меняется для каждого авторизованного пользователя. Все уже давно придумано и америку я здесь не открываю.

Окей, логично. Можно не кашировать некоторые блоки.

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

Можно сколько угодно гадать, но единственное отличие на тех скринах только в upstream cache, а раз это единственно отличие то копать отсюда. А вообще так данных особо нет и все гадания по сути пальцем в небо.