Den73

Den73
Рейтинг
523
Регистрация
26.06.2010

время покажет, пока конкретики нету, чего то русскоязычные не особо жалуются.

да. но все сразу не есть гуд, надо например только только те файлы которые лежат X времени.

runseoman:
смотрю в Google CHROME
все картинки отдаются в статусе 200

я ставлю expires 60s чтоб посмотреть работает ли вообще exires (чисто понять для себя)

картинку я же меняю, по идее должна поменятся и в хранилище файлов(то что сохраняет nginx), а потом отдать пользователю обновленную



а в заголовке html
у меня <meta http-equiv="Cache-Control" content="public"/>
или вы имеете ввиду PHPшный header(.......); ?

как она поменяется в хранилище если она при запросе уже есть и отдается с фронтенда (хранилища).

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

так что проблема не в expires а в не понимание.

runseoman:
задал expires 60s;
не работает почему то

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

http://nginx.org/ru/docs/http/ngx_http_headers_module.html

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

60сек это не нормально, поэтому браузер может запросто проигнорить.

поставьте

24h

должно появится в заголовках ответа

Expires и Cache-Control

хз чего вы хотите сделать, толком не рассказываете, может вам вообще надо отключить его.

joost:
загрузка страницы по данным http://pr-cy.ru/speed_test
в среднем 1.1-1.5 сек. это нормально?

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

musitann:
моджет поможите :)

не, халявными консультациями не практикую.

зависит от архитектуры хостинга и ограничений, в целом да должно быть быстрее но не факт.

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

и не понятно что значит по вашему "открывается до 1 сек" если в браузере за 1 сек грузится то очень хорошо, если отклик от сервера 1 сек то плохо)

на мегагерцы вообще можете не смотреть.

jugene:

у нас РАИД зеркалирование. диски ентерпрайз классат

😂 софтваре поди.

сперва разберитесь чего там отображено.

забегая вперед - нормально, хотя не зная характер вашего трафика на этот вопрос нельзя ответить))

proxy_store это не кэширование.

смотрим документацию

"Разрешает сохранение на диск файлов. Параметр on сохраняет файлы в соответствии с путями, указанными в директивах alias или root. "

перевожу, в моем примере при запросе документа, url которого попадает под регулярку (тоесть статика)

jpg|jpeg|gif|png|ico|js|css|mp3|mpe?g|avi|zip|gz|bz2?|rar|swf

происходит попытка взятия файла локально (на фронтенде) из директории

/var/www/site.com

если он есть то отдается клиенту, если его нету то срабатывает обработка ошибки 404

error_page 404 = @fetch;

работает локейшен location @fetch

proxy_pass идем на бэкенд за файлом и отдаем его клиенту.

proxy_store on; разрешаем сохранить этот файл к себе локально с такими же путями, тоесть мы с ходили за файлом на бэкенд и ложим теперь его к себе локально в /var/www/site.com

вот и все.

при последующем запросе этот файл уже напрямую будет отдаваться с фронтенда из папки /var/www/site.com т.к он туда закачался функционалом proxy_store и на бэкенд уже не ходим.

http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_store

Для кэширования используется proxy_cache а не proxy_store.

если вам нужно просто автоматически ложить статику на фронтенд с бэкенда то пойдет proxy_store

если нужно именно кэширование то proxy_cache

надеюсь понятно объяснил.

"root /var/www/site.com; тут прописывает куда кешиться файло"

это откуда брать файл а не куда кэшировать, нету тут кэширования.

Всего: 7706