ПРОЕКТЫ 


  АРХИВ 


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]

BUG? nginx 0.8.1, caching



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


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

Конфиг прилагаю 

user nginx nginx;
worker_processes 1;

error_log /var/log/nginx/error_log alert;

events {
        worker_connections  8192;
        use epoll;
}

http {
        include         /etc/nginx/mime.types;
        default_type    application/octet-stream;

        log_format main
                '$remote_addr - $remote_user [$time_local] '
                '"$request" $status $bytes_sent '
                '"$http_referer" "$http_user_agent" '
                '"$gzip_ratio"';

        client_header_timeout   10m;
        client_body_timeout     10m;
        send_timeout            10m;

        connection_pool_size            256;
        client_header_buffer_size       1k;
        large_client_header_buffers     4 2k;
        request_pool_size               4k;





        keepalive_timeout       75 20;

        ignore_invalid_headers  on;

        proxy_cache_key  $scheme//$host$uri;
        # 4000000 objects (128 byte each)
        proxy_cache_path  /cache/nginx  levels=1:2   inactive=2880m 
keys_zone=one:512m max_size=2000m;
        proxy_temp_path         /cache/temp;

        server {
                listen          0.0.0.0:1234;
                location / {
                    proxy_buffering on;
                    proxy_pass        http://127.0.0.1:8080;
                    proxy_set_header  Host       $host;

                    proxy_cache             one;
                    proxy_cache_valid       any  30d;
                    #proxy_ignore_headers    Age,Date;



                }
        }
}


 




Copyright © Lexa Software, 1996-2009.