ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: too high cpu load



Здравствуйте!

On Mon, Nov 07, 2005 at 10:21:41PM +0300, Igor Sysoev wrote:
> On Mon, 7 Nov 2005, Alexander Burnos wrote:
> 
> >Есть nginx 0.3.7, который проксирует запросы к бэкенду.
> >Все это живет на debian 2.6.11.9 ядре, P-IV 3.0 HT
> >
> >Собрано с:
> >--with-http_ssl_module
> >--without-http_charset_module
> >--without-http_ssi_module
> >--without-http_autoindex_module
> >--without-http_geo_module
> >--without-http_fastcgi_module
> >--without-http_userid_module
> >--with-http_stub_status_module
> >--with-rtsig_module
> >
> >При этом он почему-то отжирает непозволительно много процессора.
> >top выглядит так:
> >
> > PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
> >25894 httpd     16   0  7084 5352 1592 S 31.0  0.3   0:11.35 nginx
> >14085 server1   17   0  550m 299m  16m S 25.2 14.8 609:20.18 backend
> >25895 httpd     15   0  6404 4740 1592 R 19.4  0.2   0:10.62 nginx
> >23738 httpd     16   0  394m  15m 3072 S  5.8  0.8   0:23.35 httpd
> >14987 server1   17   0  572m 214m  19m S  3.9 10.6  58:42.15 backend
> >23422 httpd     16   0  394m  16m 3072 S  1.9  0.8   0:25.95 httpd
> >26040 root      15   0  2260 1036  736 R  1.9  0.0   0:00.02 top
> >
> >status:
> >
> >Active connections: 66
> >server accepts handled requests
> >324586 324586 324568
> >Reading: 63 Writing: 2 Waiting: 1
> >
> >И это не самый пик нагрузки nginx.
> >
> >Конфиг таков:
> >
> >user  httpd httpd;
> >worker_processes  5;
> >
> >#error_log  logs/error.log;
> >#pid        logs/nginx.pid;
> >
> >
> >events {
> >   connections  1024;
> >   use epoll;
> >}
> >
> >
> >http {
> >   include       conf/mime.types;
> >   default_type  application/octet-stream;
> >
> >   #sendfile        on;
> >   #tcp_nodelay    on;
> >
> >   keepalive_timeout  0;
> >
> >   #gzip  on;
> >
> >   server {
> >       listen           1.1.1.1:443;
> >       server_name      servername.com
> >       ssl              on;
> >       ssl_certificate /path/to/cert
> >       ssl_certificate_key /path/to/cert_key
> >
> >       #charset koi8-r;
> >
> >       access_log  off;
> >
> >       rewrite ^/w3c(.*) /image/w3c$1  last;
> >
> >
> >       location / {
> >           root   html;
> >           index  index.html index.htm;
> >       }
> >
> >       location /status {
> >        stub_status on;
> >        allow my.ip.address;
> >        deny all;
> >       }
> >
> >       location  /image/ {
> >        proxy_set_header  X-Forwarded-Host 'myhost.com';
> >        proxy_set_header  X-Forwarded-For        $remote_addr;
> >        proxy_pass   http://backend.ip:port/;
> >       }
> >
> >       # deny access to .htaccess files
> >       location ~ /\.ht {
> >           deny  all;
> >       }
> >   }
> >}
> >
> >Пробовал использовать rtsig, в этом случае master процесс берет около
> >11% cpu, но переодически "выстреливает" в top занимая 80-90%.
> 
> А idle на машине есть ?

Да был, не скажу точно какой уже. Но явно меньший чем без nginx, < 50%.

> >Кто может подсказать, почему так? И в какую сторону смотреть?
> >С apache подобных фокусов не было.
> 
> А что из себя представляют /images/ ?

Это запросы к java-бэкенду, мелкие, но довольно частые.

> И пара советов (хотя они, конечно, не уменьшат существенно занятость
> процессора):
> 
> 1) при использовании SSL лучше разрешать keep-alive:
>     keepalive_timeout  75;
> 
> 2) "rewrite ^/w3c(.*) /image/w3c$1  last;" лучше записать так:
> 
>    location /w3c {
>        rewrite ^(.*)$  /image$1  last;
>    }

Спасибо. Второе не особо существенное, т.к. там нагрузки почти нет.

-- 
Alexander Burnos
Network Operation Center
Internet Data Center "ColoCALL"
http://colocall.net




 




Copyright © Lexa Software, 1996-2009.