Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: кеширование статик и в RAM
On Mon, Oct 26, 2009 at 10:11:22AM +0300, Igor Sysoev wrote:
> On Mon, Oct 26, 2009 at 03:14:05AM +0300, Executier Godlike wrote:
>
> > > В адрес любителей tmpfs.
> > page cache не учитывает популярность тех или иных закешированных
> > страниц(хотя, помню, для freebsd Вы делали патч) и ситуация когда
> > самые востребованные данные вытеснены менее востребованными
> > не редкость. tmpfs может помочь решить эту проблему.
>
> Да, во FreeBSD page cache не учитывает популярность страниц, отданных
> sendfile()ом или прочитанных с помощью read(). Популярность учитывается
> только при обращеннии к mmap()тым страницам. Тем не менее, какое-то
> косвенное LRU там есть, но деталей я не знаю. Ещё нужно учитывать, что
> самые популярные страницы, отдаваемые sendfile()ом, будут постоянно
> в состоянии wired, а в этом состоянии их не вытесняют.
>
> Нужно также учитывать, что при чтении страницы из tmpfs её нужно
> скопировать из tmpfs в кэш, то есть, популярные страницы хранятся
> в памяти дважды - в tmpfs и в кэше. Кроме того, у sendfile()а есть
> проблемы с tmpfs:
> http://www.freebsd.org/cgi/query-pr.cgi?pr=127213
>
> На мой взгляд, единственное оправданное использование tmpfs/md - это,
> когда программа может работать только с файлами и для работы характерно
большое число дисковых операций записи (не путать с файловыми операциями
записи, которые могут упешно кэшироваться write-back кэшем).
--
Игорь Сысоев
http://sysoev.ru
|