ПРОЕКТЫ 


  АРХИВ 


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]

Проблема со скоростью отдачи файла


  • To: nginx-ru@xxxxxxxxx
  • Subject: Проблема со скоростью отдачи файла
  • From: Elifan <elifan2007@xxxxx>
  • Date: Wed, 5 Mar 2008 14:29:32 +0200
  • Organization: None

Всем доброго дня!


Использую vps на OpenVZ.

Там крутиться nginx + php FastCGI.

Когда-то возникла проблема с тем что файлы отдаются медленно (около 20 КБ в поток).

Долно искал проблему.. Обнаружил что убирание с дефолта sndbuf= решает проблему:

listen 192.168.1.5 default rcvbuf=8192 sndbuf=16384 backlog=32000 deferred;


Проблема ушла, но теперь вылезла другая: одним айпи дает качать по 1++ мбит,

другим по 20-24 КБ, причем даже если оба айпи на одном канале и незашейпены (уже проверялось с кучи

машин).


Уже сделал и 

listen 192.168.1.5 default

не помогает...



У кого есть какие идеи?

В атаче конфиг с деволтом и первым виртуальным хостом.


П.С.

sendfile пробывал отключить - скорость только падает у всех.

свободных ресурсов у vps предостаточно.

если этот же конфиг сделать на физическом сервере (ноде)

то скорость сразу становиться ок...

На том же vps есть фтп, с него качается с максимальной скоростью.




С уважением,

Elifan



-- 

user  nginx nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;

worker_rlimit_nofile    80000;

events {
    worker_connections  50000;
    }

http {

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

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


    server_tokens off;
    log_format IP '$remote_addr';
    reset_timedout_connection on;


    log_format games '$request_filename';


    access_log  /var/log/nginx/access.log  main;


    server_names_hash_max_size 1024;
    server_names_hash_bucket_size 512;

    client_header_timeout  3m;
    client_body_timeout    3m;
    send_timeout           3m;

    client_header_buffer_size    8k;
    large_client_header_buffers  4 8k;

    gzip on;
    gzip_min_length  1100;
    gzip_buffers     4 8k;
    gzip_types       text/plain;

    output_buffers   1 32k;
    postpone_output  1460;

    sendfile         on;
    tcp_nopush       on;

    tcp_nodelay      on;
#    send_lowat       12000;

    keepalive_timeout  60 20;

#    limit_zone   one  $binary_remote_addr  10m;
#    limit_conn   one  10;

    server {
#            listen     80 default rcvbuf=8192 backlog=32000 deferred;
#            listen     80 default deferred;
            listen      80 default;
            server_name default;
            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;
                        proxy_set_header   X-Forwarded-For  
$proxy_add_x_forwarded_for;

                        client_max_body_size       10m;
                        client_body_buffer_size    128k;

                        proxy_connect_timeout      3m;
                        proxy_send_timeout         3m;
                        proxy_read_timeout         3m;
                        proxy_buffer_size          4k;
                        proxy_buffers              4 32k;
                        proxy_busy_buffers_size    64k;
                        proxy_temp_file_write_size 64k;
                   }
}


    server {
            listen      80;
            server_name domain.ru www.domain.ru;
            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;
                        proxy_set_header   X-Forwarded-For  
$proxy_add_x_forwarded_for;

                        client_max_body_size       10m;
                        client_body_buffer_size    128k;

                        proxy_connect_timeout      3m;
                        proxy_send_timeout         3m;
                        proxy_read_timeout         3m;
                        proxy_buffer_size          4k;
                        proxy_buffers              4 32k;
                        proxy_busy_buffers_size    64k;
                        proxy_temp_file_write_size 64k;
                   }


            location ^~ /icons/ {
                        root         /var/www/;
                        access_log   off;
                        expires      1y;
                    }

            location ~* 
^.+\.(js|jpg|jpeg|gif|png|bmp|ico|css|zip|rar|bz2|doc|rtf|xls|exe|pdf|ppt|txt|wav|mp3|wmv|avi|swf|flv)$
 {
                        root         /var/www/hosts/www;
                        access_log   off;
                        expires      30d;
                    }

            location /nginx_status {
                        stub_status on;
                        access_log   off;
                        allow xx.xx.xx.xx;
                        deny all;
                    }

            set $add 1;
            location /index.php {
                limit_except  GET POST {
                    deny   all;
                }
                set $ban "";
                if ($http_referer = "" )            {set $ban  $ban$add;}
                if ($request_method = POST )        {set $ban  $ban$add;}
                if ($query_string = "action=login" ){set $ban  $ban$add;}
                if ($ban = 111 ) {
                    access_log /var/log/nginx/ban IP;
                    return 404;
                }
                        proxy_pass http://127.0.0.1:81;
                        proxy_redirect     off;

                        proxy_set_header   Host             $host;
                        proxy_set_header   X-Real-IP        $remote_addr;
                        proxy_set_header   X-Forwarded-For  
$proxy_add_x_forwarded_for;

                        client_max_body_size       10m;
                        client_body_buffer_size    128k;

                        proxy_connect_timeout      3m;
                        proxy_send_timeout         3m;
                        proxy_read_timeout         3m;

                        proxy_buffer_size          4k;
                        proxy_buffers              4 32k;
                        proxy_busy_buffers_size    64k;
                        proxy_temp_file_write_size 64k;
            }

   }



 




Copyright © Lexa Software, 1996-2009.