Re: Раздача контента с NFS share

Olexander Shtepa isk на idegroup.com
Вт Янв 19 16:26:02 MSK 2010


> Есть следующая задача - 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/ ), который, в принципе, и создан для подобных конфигураций.
> 
> Вопрос, какой из этих вариантов предпочтительнее и надежнее.

Это всё мёртвому припарки.

Разместите nginx на самом NFS сервере,чтобы он раздавал напрямую с локального диска.
Это позволит избежать кучи ненужной работы.

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


Подробная информация о списке рассылки nginx-ru