TMPFS and nginx
Igor Sysoev
igor на sysoev.ru
Пт Окт 8 15:52:58 MSD 2010
On Fri, Oct 08, 2010 at 12:02:27PM +0300, Elifan wrote:
> Здравствуйте, Igor.
>
> Вы писали 8 октября 2010 г., 11:03:24:
>
> > On Fri, Oct 08, 2010 at 08:59:05AM +0300, Elifan wrote:
>
> >> Всем доброе утро!
> >>
> >> Уже не нескольких серверах с freebsd 7.3-RELEASE-p2
> >> (nginx/0.7.67) возникает некоторая непонятка с tmpfs в памяти.
> >>
> >> Использую кеш fastcgi и т.к. запросов много, выношу fastcgi_temp_path и
> >> fastcgi_cache_path в tmpfs.
> >>
> >> Работает нормально, но некоторые пользователи жалуются на крякозябры
> >> на страницах, вроде как в файлах кеша они и вписаны, т.к. после
> >> очистки кеша или его отключения, ситуация нормалиизуется.
> >>
> >> Пробывал монтировать по разному:
> >> /sbin/mount -t tmpfs -osize=256M /dev/shm /tmp/nginx
> >> /sbin/mount -t tmpfs -osize=256M /dev/shm2 /tmp/nginx
> >> ситуация повторяется.
> >>
> >> При этом вынос каталога mysql в память никогда проблем не вызывал:
> >> /sbin/mount -t tmpfs -osize=512M /dev/shm1 /var/tmp
> >>
> >> Это глюк с FreeBSD, типа может использовать только одну такую
> >> замонтированную папку, либо так накладывается при работе nginx?
>
> > Как уже написали, это ошибка в sendfile/tmpfs:
> > http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/127213
> > Его нужно выключить для location'а, где используется кэш.
>
> > Параметры /dev/shmX для FreeBSD не имеет никакого смысла - там и
> > устройств-то таких нет. Этот параметр - просто заглушка.
>
> > Что касается размещения кэша в md/tmpfs - это имеет смысл, только если
> > в кэш делается много записей (а не чтений). В противном случае это
> > просто разбазаривание памяти.
>
>
> Понятно, спасибо!
> Т.е. я правильно понимаю, если выносить fastcgi_temp_path в tmpfs то
> тоже будут повреждаться данные?
Да, если не отключить sendfile.
Но если много записей, то разделение fastcgi_temp_path и fastcgi_cache_path
не поможет: всё равно будет копирование из temp в cache с той же
интенсивностью.
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru