Игорь, а кэширующие возможности nginx будут включать возможность кэша в
памяти?
Было бы здорово, если можно было на уровне server задать опции кэширования в
памяти, то есть размер кэша, алгоритм работы с кэшем, expire time и т.д., а
на уровне location задавать возможность кэширования файлов в данном
location, макс. размер файла и т.п.
А то ведь столько памяти освободилось за счет nginx, надо ее использовать!
:)
Наиболее разумным мне тут видится кэширование статического контента. Тех же
картинок.
Может быть еще имеет смысл подумать об интеграции с memcached сервером.
В общем, какой roadmap по этому поводу вообще? :)
В текущих планах предполагается кэш в виде файлов и в памяти.
В файлах - ответы proxy и fastcgi, сжатые ответы.
В памяти предполагается держать дескрипторы открытых файлов,
небольшие файлы, mmap, редиректы, скомпилированные ssi-скрипты.
На кэширование будет влиять куки, переменные (например, geo) и тому подобное.
Что касается кэширования статики, то, на мой взгляд, имеет смысл
держать в памяти только мелкие файлы размером до одной страницы или
около того. Статику лучше отдавать sendfile()ом, кэшируя только
открытый дескриптор файла. Совсем уж мелкие файлы (до 1К) лучше
держать в памяти и отдавать writev()ом. mmap() лучше не использовать,
по крайней мере, на FreeBSD, про другие ОСы не скажу.
Игорь Сысоев
http://sysoev.ru