Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: файловая структура для кеша
- To: nginx-ru@xxxxxxxxx
- Subject: Re: файловая структура для кеша
- From: "Alexey Mahotkin" <squadette@xxxxxxxxx>
- Date: Tue, 18 Mar 2008 16:45:54 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=aTYrWyH+1Zbea03aMjPq2GJmTh/qcH+qamQbNUmC+aE=; b=Ty0JUCypFhRXDk0hkQhYQCSeVdtAoLFZFn2V2QuDOmegw87K97z7z0/WaPOrCrnPerUAffqS1YCR7Mwn5Bk7efIsW8fzGLXNrZI5nz5DdSyPxfUcEfic7j7jdDvj37wWjfR6q0HnGUlyB8/fpH+KOEuPSjUwvjBpfjq4N3VJTp8=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=gg004VVb66L1uGHFCJ4LA+AGzVaqVMIpIBm2UrvvsmmpMSHhr7/LdPKQj1bo7U8vV7h6FSDYVWP0CBxW1H1XOgknYfQGvdFaTICjtoto/kEBdQIn/3MrUsGl2QYp4GyzRR3GK3+3aju0rro50uFCN0aWZQ8B02NRCKZ7FhnMl+M=
- In-reply-to: <1009362404.20080318143118@xxxxxxxxxxxxxxxxxxxxxxxxx>
- References: <1009362404.20080318143118@xxxxxxxxxxxxxxxxxxxxxxxxx>
По моему опыту, имеет смысл хранить в каталоге классические 256
файлов. С вложенностью каталогов не перебарщивать. Таким образом,
для миллиона получается два уровня каталогов по 256 в каждом + файлы
внутри.
2008/3/18 Kravchenko Andrey <andrey@xxxxxxxxxxxxxxxxxxxxxxxxx>:
> Здравствуйте,
>
> Хочу зсоздать кеш, из которого данные будет отдавать 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/
|