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

Arkadiy Kulev eth at ethaniel.com
Mon Jul 30 19:43:12 MSD 2007


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

> ...






-- 
Best regards,
 Arkadiy                            mailto:eth at ethaniel.com






More information about the nginx-ru mailing list