ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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: "Alexander A. Gnatyna" <gnatyna@xxxxxxxxx>
  • Date: Tue, 18 Mar 2008 17:37:07 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:from:to:subject:date:user-agent:references:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:message-id; bh=UqQMY39D2wq1s3J4LMN08NG+OxOxmtBZS4tnr3J81FE=; b=bxi5EdH3NilfXshn4jkE9ayfiQSwTYxRHoUEdZXQuLPrTPNRlE6cBlhN5qiG9OLYa1bSxPgDQTsDkxZoLXxDHu4Q2RGg21LLrO61JKT6nCwMW+8kjTJibt7y4pqS/p809JHI3KljcttuMt6JuEopJOJnwXtux1PTG4DM/MWCxLU=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=from:to:subject:date:user-agent:references:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:message-id; b=lJhdNfpMuZjjTedyZK3mfeFec9675aNmX7m4GMorBfSG28vbXwIjTlFJilCvZXZPCwANyH69mWFKKqgDIcJVfpE/v2ejpqO7ga1L4Vgr04pTgBrl4WiK0ZkNZJZdCF2hw76Rpuvu0q+fwNWSQjqhc+/KmvfqEqZEGTQ8LM8RSV4=
  • In-reply-to: <1009362404.20080318143118@xxxxxxxxxxxxxxxxxxxxxxxxx>
  • References: <1009362404.20080318143118@xxxxxxxxxxxxxxxxxxxxxxxxx>

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

Не для nginx, но на FreeBSD (правда 6.2).
Буквально на днях опытным путем получил хороший результат такой структуры:
XXX/file1
YYY/file2
где XXX из (0..9,'a'..'f').
хранится постоянно 10М файлов.
пришлось увеличить vfs.ufs.dirhash_maxmem и kern.maxvnodes, и памяти ядру 
добавить. Для моих целей подошло вполне - читает быстро, пишет быстро(только 
по порядку, хотя это возможно из-за большой нагруженности, еще не 
разбирался).

В сообщении от Tuesday 18 March 2008 15:31:18 Kravchenko Andrey написал(а):
> Здравствуйте,
>
> Хочу зсоздать кеш, из которого данные будет отдавать 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) более оптимально?
>
> Иногда файлы будут и удаляться, но чтение будет основной
> операцией.




 




Copyright © Lexa Software, 1996-2009.