ПРОЕКТЫ 


  АРХИВ 


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: BUG? nginx 0.8.1, caching



On Mon, Jun 15, 2009 at 03:30:49AM +0300, Denys Fedoryschenko wrote:

> nginx 0.8.1
> Платформа x86 (32-bit), Gentoo Linux 2.6.30
> 
> Использую nginx как кеш (сквид в некотором плане неэффективен, больше кушает 
> памяти на каждый обьект).
> Заметил, что если юзеры тянут один и тот же файл, он появляется в /cache/temp 
> дважды, т.е. и тянется похоже дважды.
> 
> Например файлы
> www.nuclearcat.com/files/file1.bin
> www.nuclearcat.com/files/file2.bin
> Оригинальные имена файлов были: 0000000331  и 0000000371
> 
> Отличаются они только бинарной строкой (ключ? т.к. 128 бит), но отличаются 
> достаточно странно в этой части, т.к. md5 вроде как не так предсказуем (т.е. 
> меняется обычно весь и закономерностей не прослеживается)
> , и http заголовком Date.
> 
> См.
> 00000000 FD 8A 5D 4A │ 84 85 DE 49 │ FD FD 35 4A │ C4 0B D5 46 │ 00 00 AC 00 
> │ 30 02 21 3C │ 0A 4B 45 59 │ 3A 20 68 74 │ 74 70 2F 2F │ 64 6F 77 6E         
>       ??.]J..??I????5J??.??F..??.0.!<.KEY: http//down
> 00000000 F7 8A 5D 4A │ 84 85 DE 49 │ F7 FD 35 4A │ C4 0B D5 46 │ 00 00 AC 00 
> │ 30 02 B4 09 │ 0A 4B 45 59 │ 3A 20 68 74 │ 74 70 2F 2F │ 64 6F 77 6E         
>       ÷.]J..??I÷??5J??.??F..??.0.??..KEY: http//down

Нет, md5 - это имя файла в кэше, считается от KEY:.
А в начале файла служебная информация - expires, начало ответа, длина заголвка
и прочее.

> Кстати, в письме Игоря Сысоева видел такое:
> >Each key takes 128 bytes in shared memory zone. Therefore you need 6.1G zone:
> Почему 128 байт? Вроде как ключ 128 бит, т.е. 16 байт. Или это из-за хешей 
> для поиска?

Потому что помимо самого md5 ключа в зоне хранится информация о закэшированом
файле, и кроме того, указатели в дереве и в очереди. Ну и потом объём
выравнивается до степени двойки - так устроен аллокатор.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.