Общий proxy cache для нескольких фронтенд-серверов

Igor Sysoev is at rambler-co.ru
Fri Jun 5 17:36:18 MSD 2009


On Fri, Jun 05, 2009 at 04:21:50PM +0400, ываукп Лвапу wrote:

> >Я бы смотрел в сторону NFS, потому что 20 воркеров - это не смертельно.
> 
> Согласен, но за 20 воркеров разговора не было. Воркеров 8, а 20 это загрузка сервера :) Может ли nginx залипнуть в результате частых HUP до того, чтобы не отвечать по 80-му порту, если proxy_temp_path и proxy_cache_path размещены на NFSv4, а сервер нагружен приложением (не вебсервером)?

Воркер может не отвечать, если он заблокировался в NFS.

> >Нет, я считаю что схема с хранением кэша от нескольких nginx'ов на NFS
> нежизнеспособна.
> 
> Согласен, мне тоже не нравится nfs, вместо него можно взять что-нибуть а-ля drbd. Лишь бы nginx умел аккуратно обновлять инфу о кеше в памяти.

drbd отличается от локальных дисков тем, что у последних предсказуемое
время ответа (10-20ms).

> Вобщем-то, и это не совсем кошерные костыли. Почему вообще возникла возможность кеширования через proxy_module вместо например реализации в nginx записи в memcached? Если бы это было, проблема с централизацией кеша отпала бы сама собой :)

Потому что локальный кэш
1) отдаётся с помощью senfile() куда быстрее, чем с соседней машины (или даже
   из memcached'а на этой же машине);
2) сохраняется после перезагрузки;
3) ограничен не памятью, а дисковым пространством, то есть, можно
   закэшировать много маловостребованных данных.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list