Re: замедление работы

Gena Makhomed gmm at csdoc.com
Thu May 14 14:35:07 UTC 2015


On 14.05.2015 15:57, denis wrote:

> Иногда приходится слышать (и видеть) - "поставили nginx, всё стало
> тормозить". Напрямую запросы быстрые, после включения nginx В режиме
> proxy_pass (статики тоже, ибо с другого сервера) - ощутимо медленнее,
> time curl подтверждает, например 5с против 0.3
>
> Как диагностировать такие случаи?

Смотреть в логи nginx, там будет написано для каких файлов
"an upstream response is buffered to a temporary file".

Чтобы не было двойной буферизации статики - надо настроить
отдачу этих файлов напрямую через nginx или через возврат
X-Accel-Redirect со стороны апача.

Возможно пригодится https://github.com/defanator/mod_aclr2

Если это nginx на frontend, за которым стоит много бекендов
в виде nginx + php-fpm, тогда имеет смысл на самом первом
nginx сделать:

     # If you want nginx to don't touch disk, use
     # This will still allow in-memory buffering and wouldn't touch disk.
     proxy_max_temp_file_size 0;
     # proxy_buffering off;

- он тогда вообще не будет блокироваться на дисковых операциях.

Возможно на nginx не хватает воркеров, а те что есть -
блокируются на дисковых операциях. Тогда может помочь
увеличение количества воркеров или использование
http://nginx.org/en/docs/http/ngx_http_core_module.html#aio
в режиме aio threads

Если на nginx используется SSL - имеет смысл включить
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache
- будет работать быстрее. Если к ssl включить spdy - тогда еще быстрее.

-- 
Best regards,
  Gena



Подробная информация о списке рассылки nginx-ru