Доброго всем времени суток!
Есть следующая задача - CMS пишет загружаемые веб-девелоперами файлики на NFS share, после чего эти файлики надо раздавать с двух load balanced машин с NGINX. Балансировка сделана частично для надежности, частично для распределения нагрузки на серверы. Файлики в большинстве своем мелкие - картинки, CSS, JS скрипты, мелкая HTML статика.
Очевидно, что непосредственно раздавать контент с достаточно медленного NFS диска - это получать проблемы с производительностью, а трафик при этом достаточно большой. Посему рассматриваются 3 варианта, весь вопрос в том, какой из них даст наилучшую производительность и надежность.
1. То, что используется сейчас. На каждой машине NGINX сконфигурирован с двумя виртуальными серверами. Один слушает на локальном IP адресе(запустить на unix sockets так и не удалось) и раздает контент с NFS диска. Второй виртуальный сервер выступает в роли кеширующего прокси для первого и раздает контент для внешних пользователей.
2. Реализовать схему с 2 отдельными процессами NGINX, как описано в http://forum.nginx.org/read.php?21,33543. В принципе, она близка к 1-ой, за исключением использования по одному процессу на каждую из задач.
3. Использовать сторонний модуль nginx_ngx_slowfs_cache ( http://labs.frickle.com/nginx_ngx_slowfs_cache/ ), который, в принципе, и создан для подобных конфигураций.
Вопрос, какой из этих вариантов предпочтительнее и надежнее.
С уважением,
Тимур Бакеев.