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

Kravchenko Andrey andrey at mail.anti-aging-drugs.com
Tue Mar 18 15:31:18 MSK 2008


Здравствуйте,

Хочу зсоздать кеш, из которого данные будет отдавать 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) более оптимально?

Иногда файлы будут и удаляться, но чтение будет основной
операцией.






More information about the nginx-ru mailing list