Re: nginx медленно отдает данные

umask umask at yandex.ru
Mon Jul 30 20:15:23 MSD 2007


И скорее всего, в вашем случае, будет достаточно worker_processes равного 2-м или 4-м.



30.07.07, 19:43, Arkadiy Kulev <eth at ethaniel.com>:



> Сам решил свою проблему.

> установил на listen директиве параметр sndbuf=512k, а в

> /etc/sysctl.conf прописал

>   # increase TCP max buffer size

>   net.core.rmem_max = 16777216

>   net.core.wmem_max = 16777216

>   # increase Linux autotuning TCP buffer limits

>   # min, default, and max number of bytes to use

>   net.ipv4.tcp_rmem = 4096 87380 16777216

>   net.ipv4.tcp_wmem = 4096 65536 16777216

>   и сделал sysctl -p

> Monday, July 30, 2007, 4:35:40 PM, you wrote:

> > День добрый,

> > я работаю под линуксом 2.6.20 с 1 гигом оперативки и сервером

> > core2duo

> > (правда настроенным под 32 бита).

> > сервер используется для отдачи большого количества мелких

> > изображений,

> > а также видео flv по 2-3 мегабайта.

> > в среднем около 50-70 запросов в секунду.

> > было несколько конфигов, первый с worker_processes=10.

> > стал замечать, что соединение устанавливается очень долго.

> > увеличил до 100, соединение происходит мнгновенно, ок.

> > но в обоих случаях скорость отдачи для flv (да и для картинок

> > тоже)

> > не превышала 10-20 килобайт в секунду, хотя лимитов никаких не

> > было.

> > запустил для проверки второй nginx на другом порту и только для

> > себя,

> > flv качается со скоростью 600 килобайт в сек (отличный

> > результат) -

> > делаю предположение, что проблема не в дисках (там внешний RAID

> > 5 на

> > 8 дисков).

> > так вот проблема - как подобрать или настроить nginx так чтобы

> > и в

> > первом варианте было также.

> > текущий рабочий конфиг приведен ниже:

> > worker_processes 100;

> > worker_rlimit_nofile 10240;

> > worker_rlimit_sigpending 32768;

> > error_log  /home/nginxstorage.err error;

> > events {

> >    worker_connections   1024;

> >    use epoll;

> > }

> > http {

> > proxy_buffering off;

> > proxy_temp_path  /ram;

> > proxy_buffers 30 8k;

> > proxy_connect_timeout 4;

> > proxy_read_timeout 60;

> > proxy_send_timeout 60;

> >     client_header_timeout  3m;

> >     client_body_timeout    3m;

> >     send_timeout           3m;

> >     client_header_buffer_size    4k;

> >     large_client_header_buffers  16 8k;

> >     client_max_body_size 220m;

> >     output_buffers   32 512k;

> >     postpone_output  1460;

> >     sendfile         on;

> >     tcp_nopush       on;

> >     tcp_nodelay      on;

> >     keepalive_timeout  10;

> >     lingering_time     30;

> >     lingering_timeout  6;

> >     reset_timedout_connection  on;

> > ...





More information about the nginx-ru mailing list