Re: файловая структура для кеша

Alexey Mahotkin squadette at gmail.com
Tue Mar 18 16:45:54 MSK 2008


По моему опыту, имеет смысл хранить в каталоге классические 256
файлов.  С вложенностью каталогов не перебарщивать.  Таким образом,
для миллиона получается два уровня каталогов по 256 в каждом + файлы
внутри.


2008/3/18 Kravchenko Andrey <andrey at mail.anti-aging-drugs.com>:
> Здравствуйте,
>
>  Хочу зсоздать кеш, из которого данные будет отдавать NGINX.
>  В кеш будут складываться файлы, зависящие от номера источника
>  оригинала. Каждый источник содержит 10-20 файлов. Источников - тысячи
>  (десятки тысяч - скоро).
>
>  Вопрос: как лучше всего организовать файловую структуру кеша, чтоб
>  скорость отдачи была маскимальной?
>
>  Например. Зададимся максимальным числом источников в 10млн. (10^7)
>  Вижу несколько путей.
>
>  1. Длинные имена папок с конечной папкой для каждого источника
>  000/000/0/file1
>  000/000/0/file2
>  ...
>
>  2. Длинные имена, а вместо последней папки делаем префикс, т.е. в
>  конечной папке будут лежать не десяток, а пара сотен файлов.
>  000/000/0_file1
>  000/000/0_file2
>  000/000/0_file3
>  ...
>  000/000/1_file1
>  000/000/1_file2
>  000/000/1_file3
>  ...
>
>  3. Короткие имена с множестивенными вложениями
>  00/00/00/0/file1
>  00/00/00/0/file2
>  ...
>
>  Или даже так:
>  0/0/0/0/0/0/0/file1
>  0/0/0/0/0/0/0/file2
>  ...
>
>
>  На чем лучше остановиться? что кеширует NGINX и/или система (FreeBSD
>  7.0) более оптимально?
>
>  Иногда файлы будут и удаляться, но чтение будет основной
>  операцией.
>
>
>



-- 
Алексей Махоткин
http://squadette.ru/


More information about the nginx-ru mailing list