proxy_pass huge CPU usage

Igor Sysoev is at rambler-co.ru
Wed Mar 9 17:45:03 MSK 2005


On Wed, 9 Mar 2005, Andrew Kornilov wrote:

> есть два nginx один из которЪЪх вЪЪступает фронтендом для второгою оба
> отдают большое файло
>
> конфиг фронтенда:
>
> user  apache;
> worker_processes  20;
>
> error_log       logs/error.log;
> pid             /var/run/nginx.pid;
>
> events {
>    connections  1024;
> }
>
> http {
>    include       conf/mime.types;
>    default_type  application/octet-stream;
>
>    sendfile  on;
>
>    server {
>        listen  3080;
>
>        access_log  logs/access.log;
>
>        location /storage2/ {
>
>            proxy_pass  http://10.1.1.13:3080/;
>
>            access_log  logs/storage2.log;
>
>            proxy_preserve_host        off;
>            proxy_set_x_real_ip        on;
>        }
>
>        location / {
>            root   html;
>            index  index.html index.htm;
>        }
>
>    }
> }
>
> пока нет запросов к storage2 на фронтенде nginx использует около 0,1%
> CPU как только приходит запрос к storage2 nginx отъедает 50-90% CPU
>
> куда рыть? это нормальная ситуация? или может кривой конфиг?

Такое наблюдалось. Какая ОС ?
nginx сохраняет ответ во временный файл.
Можно попробовать увеличить буфера:

proxy_buffers               4 64k;
proxy_busy_buffers_size     64k;
proxy_temp_file_write_size  128k;

Или же, поскольку бэкендом стоит nginx, то можно запретить использовать
временные файлы:

proxy_max_temp_file_size  0;


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





More information about the nginx-ru mailing list