ПРОЕКТЫ 


  АРХИВ 


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]

nginx для отдачи больших файлов



Здравствуйте.
Система FreeBSD 7, 4 Гб RAM.
nginx нужно использовать для отправки файлов самого разного размера: от 2-3 кб 
до 2-3 гб.
Пытался подобрать оптимальный конфиг, но не очень получается.
Вот, что у меня на данный момент:


user www www;
worker_processes 1;

worker_rlimit_nofile 10240;
worker_rlimit_sigpending 32768;
worker_priority 5;

error_log /.../nginx_error_log info;

events {
    worker_connections  20480;
    use kqueue;
}

http {
    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"';



access_log /.../nginx_access_log main;




    client_header_timeout  60;
    client_body_timeout    60;
    send_timeout           120;
    proxy_read_timeout     180;
    proxy_connect_timeout  60;
    proxy_send_timeout     180;


    msie_padding on;

    proxy_buffer_size          32k;

    proxy_buffers              64 512k;
    proxy_busy_buffers_size    1024k;
    proxy_temp_file_write_size 1024k;

    gzip on;
    gzip_min_length  10240;
    gzip_buffers     32 64k;
    gzip_types       text/html application/x-javascript text/css text/xml
text/plain;

    client_header_buffer_size    4k;
    client_max_body_size 120000000;
    large_client_header_buffers  16 8k;

    sendfile       on;
    tcp_nopush     on;
    tcp_nodelay    on;

    output_buffers   32 256k;
    postpone_output  1460;

    lingering_time     30;
    lingering_timeout  6;
    reset_timedout_connection  on;

    keepalive_timeout  20;
    optimize_server_names on;

    index index.html;

    server {
        listen       ххх.ххх.ххх.ххх:80;
        server_name  ххх;
        location / {

            proxy_pass         http://127.0.0.1:81/;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
        }
    }
}


Но проблемы следующие:
- большие паузы перед отдачей файла (сразу после старта сервера отдает сразу 
же, через некоторое время начинаются приличные паузы).
- непонятная скорость отдачи файлов. файлы отдаются рывками, скорость иногда 
запредельно низкая (10-15 Кб/с, когда нормальная 300-500 Кб/с).

Какие настройки нужно менять и где крутить?
Спасибо!









 




Copyright © Lexa Software, 1996-2009.