Потребление памяти воркерами

Olexander Shtepa isk at idegroup.com
Tue Dec 11 19:04:08 MSK 2007


> > В определённые моменты воркеры занимали RSS более 700М.
> > После сигнала -HUP новорождённые воркеры занимают по 4-6 МБ и набирают по ~80 МБ в час каждый.
> > По достижению определённого порога рост прекращается.
> > Могу предоставлю дополнительную информацию.
> >   
> proxy_buffering             on;
> 
> случайно не используется ?

Буферизация включена. Вот настройки:

worker_processes  2;
worker_rlimit_nofile 10000;
timer_resolution  100ms;
events {
    use epoll;
    worker_connections  10000;
}
http {
    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
    keepalive_timeout  65;
    gzip            on;
    gzip_min_length 1100;
    client_max_body_size 10m;
    proxy_read_timeout 1h;
}
Внутри десятка вхостов используется следующая одинаковая конфигурация:
    location / {
        proxy_pass http://cluster;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-HTTPS "";
        proxy_redirect off;
    }
    и несколько директив rewrite

Остальное по дефолту.
Бекендов у меня 4 и в каждом MaxClients 200
Так что максимально занимаемая память на буферизацию будет:
(1+8)*4к*(200*4)=28800к

Полчаса назад в секции http сделал proxy_buffering off, но всёравно:
USER     PID %CPU %MEM   VSZ     RSS STAT START   TIME COMMAND
root   17376  0.0  0.1 16476    3104 S    Nov15   0:15 nginx: master process
nginx  29728  4.4  4.8 115192 101288 S    15:33   1:08 nginx: worker process
nginx  29729  4.2  3.6 89768   75868 R    15:33   1:04 nginx: worker process

Так что не в буферизации дело.


More information about the nginx-ru mailing list