dimonchik2013
@dimonchik2013
non progredi est regredi

Как организовать кеш в памяти сервера для отдачи статики с HDD?

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

У сервера два HDD по 500 Gb и 64 Gb памяти.

Пишут, что для nginx под такую задачу достаточно 16 Gb памяти (ну, максимум,32 Gb), а вот из-за наличия множества мелких файлов при увеличении числа посетителей производительность упрется в дисковый I/O.

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

В качестве кеша, как правило, предлагается memcached, с примечанием, что nginx писать в него не умеет.
Во всех примерах описываются LAMP/LEMP конфигурации и объекты в memcached, ложит, соответственно, PHP, а Nginx только считывает.

У меня же PHP на сервере не используется. А память использовать хочется.

Другая рекомендация -Varnish, его вешают на 80 порт, перед/или за nginx, и настраивают на кеширование всего отдаваемого. Но - по Varnish отзывы двоякие, есть мнение, что статику Nginx отдает вполне неплохо, и Varnish не способен это улучшить, но как тогда быть с дисковыми I/O ?

Подскажите, стоит ли использовать Varnish, или все же классический Memcached, но как им тогда управлять?
  • Вопрос задан
  • 3619 просмотров
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
крайне сомнительно что он у вас уперся в файловую подсистему, тут проще поковырять настройки нгинкса для отдачи, а не маяться глупостями. Линукс сам положит частозапрашиваемые картинки в память без участия нгинкса и вас.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ZOKIDINuz
Вас пригласили https://qna.habr.com/q/1286734
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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