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

Igor Sysoev is at rambler-co.ru
Mon Jul 30 21:39:46 MSD 2007


On Mon, Jul 30, 2007 at 07:43:12PM +0400, Arkadiy Kulev wrote:

> Сам решил свою проблему.
> установил на 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

Можно попробовать

sendfile_max_chunk  128k;

> 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;
> 
> > ...
> 
> 
> 
> 
> 
> 
> -- 
> Best regards,
>  Arkadiy                            mailto:eth at ethaniel.com
> 
> 

-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list