ПРОЕКТЫ 


  АРХИВ 


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: Есть ли доступный архив списка расылки ?



Добрый день.

1.Предполагается использовать nginx  в качестве фронт энда на
виртуальном хостинге,
число виртуальных хостов может измеряться тысячами, все запросы,
приходящие на
1 определенный адрес:порт надо перенаправить на другой определенный
адрес:порт,
при этом заголовок host оставив изначальными, как это указать nginx'у?

proxy_preserve_host  [on|off];

ТраблеРепорт:
Система Linux, debian woody, ядро 2.4.27-1, процессор iP4 3000, памяти 2 гига, ide hdd 80 Gb
Посторонних задач нет.
nginx  0.1.13
./configure    --prefix=/usr/local                            --conf-path=/etc/nginx/nginx.conf              --pid-path=/var/run/nginx.pid                  --error-log-path=/var/log/nginx/error.log      --http-log-path=/var/log/nginx/access.log      --user=www-data                                --group=www-data

Ниже привожу полный конфиг.

При включении проксирования всех запросов через nginx через него проходит траффик примерно 35 мегабит, около 600 запросов в секунду. nginx затыкается и начинает говорить что коннекта к бэкенду нет и при этом есть 100% процессора, причем 99% в режиме системы. При отключении прохода через него "длинных файлов" траффик падает до ~15 мегабит/сек, число запросов уменьшается не значительно (на 10 в секунду), но nginx ведет себя значительно более стабильно.
Потребление процессора при этом не доходит до 10%, в среднем около 7%.

Как определить, в чем может быть причина проблемы?
----------------- nginx.conf ------------------
worker_processes  2;

#error_log  logs/error.log;
#pid        logs/nginx.pid;


events {
   connections  10240;
}


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

   log_format main      '%addr - - [%time] "%request" %status '
                        '%length "%{Referer}i" "%{User-Agent}i" '
                        '"%proxy" "%gzip_ratio"';

   log_format download  '%addr - - [%time] "%request" %status '
                        '%length "%{Referer}i" "%{User-Agent}i" '
                        '"%{Range}i" "%{Content-Range}o"';


   post_accept_timeout    60;
   client_header_timeout  3m;
   client_body_timeout    3m;
   send_timeout           3m;

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

   output_buffers                      8 32k;
   postpone_output                     1460;

   sendfile         on;
   tcp_nopush       on;

           client_max_body_size       16m;
           client_body_buffer_size    128k;

           proxy_connect_timeout      90;
           proxy_send_timeout         90;
           proxy_read_timeout         90;

           proxy_preserve_host        on;
           proxy_set_x_real_ip        on;
           proxy_add_x_forwarded_for  on;

           proxy_header_buffer_size   4k;
           proxy_buffers              8 32k;
           proxy_busy_buffers_size    128k;
           proxy_temp_file_write_size 128k;

           proxy_temp_path            /var/lib/nginx;


   #
   server {
       listen        801;
       location / {
           proxy_pass  http://192.168.0.66/;
           access_log   /var/log/nginx/be1.log  main;
       }
   }
   #
   server {
       listen        802;
       location / {
           proxy_pass  http://192.168.0.67/;
           access_log   /var/log/nginx/be2.log  main;
       }
   }
   #
   server {
       listen        803;
       location / {
           proxy_pass  http://192.168.0.68/;
           access_log   /var/log/nginx/be3.log  main;
       }
   }
   #
   server {
       listen        804;
       location / {
           proxy_pass  http://192.168.0.69/;
           access_log   /var/log/nginx/be4.log  main;
       }
   }
   #
   server {
       listen        805;
       location / {
           proxy_pass  http://192.168.0.70/;
           access_log   /var/log/nginx/be5.log  main;
       }
   }
   #
   server {
       listen        806;
       location / {
           proxy_pass  http://192.168.0.71/;
           access_log   /var/log/nginx/be6.log  main;
       }
   }
   #
   server {
       listen        807;
       location / {
           proxy_pass  http://192.168.0.72/;
           access_log   /var/log/nginx/be7.log  main;
       }
   }
}

----------------------------------------------





 




Copyright © Lexa Software, 1996-2009.