Задать вопрос
@ggagnidze

Происходит ли излишнее кэширование в nginx, если два пользователя одновременно запросили один и тот же файл?

Существует кэширующий сервер на базе nginx.
Если клиент А обратился за файлом, которого не было на в кэше сервера и в момент загрузки этого файла клиент Б обратился за тем же файлом — будет ли файл загружаться два раза? Если да, стоит ли исправлять это через proxy_store?
  • Вопрос задан
  • 3476 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@ggagnidze Автор вопроса
Проблема в возрастающей нагрузке на диски (и обшие тормоза на этом фоне). Места пока хватает.
Ответ написан
VBart
@VBart
nginx.org/r/proxy_cache_lock/ru
Если включено, одновременно только одному запросу будет позволено заполнить новый элемент кэша, идентифицируемый согласно директиве proxy_cache_key, передав запрос на проксируемый сервер. Остальные запросы этого же элемента будут либо ожидать появления ответа в кэше, либо освобождения блокировки этого элемента, в течение времени, заданного директивой proxy_cache_lock_timeout.
Ответ написан
Комментировать
Это вроде как и не исправите. Есть только два варианта:
1. По больше места для кэширования
2. Все кто запросят файл в момент его закачки первым запросом будут ждать пока сервер не закэширует файл и только потом отдавать.

На SSD такое дело крайне не рекомендую ставить. На личном опыте убили 70% жизни SSD на больших файлах.
Ответ написан
Комментировать
@ggagnidze Автор вопроса
Ну заказчик решил не заворачиваться и на предложения отвечал отказом (еще на стадии формирвоания системы). Сказал использовать что есть :)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы