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
|