too high cpu load

Alexander Burnos pointer at colocall.net
Mon Nov 7 21:01:10 MSK 2005


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

Есть 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%.

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

Заранее спасибо.

-- 
Alexander Burnos





More information about the nginx-ru mailing list