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