Не достаточно рабочих_соединений nginx - PullRequest
0 голосов
/ 30 апреля 2020

Мой сайт работает в tomcat (весенняя загрузка), используя Nginx. Сайт работает много часов под интенсивным трафиком c, но в конечном итоге, если в него приходит больше пользователей, он начинает загружаться в течение длительного времени, пока Java не перезагрузится. И если много народу, он начинает долго грузиться сразу

ошибка:

[alert] 120310: 1024 worker_connections are not enough

пределы:

grep processor /proc/cpuinfo | wc -l
32
ulimit -n
1024

Мой конф:

user www-data;


worker_processes 21;
worker_rlimit_nofile 30000;
events {

    worker_connections 3021;
}

http{

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;



    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

#   ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
#   ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Virtual Host Configs
    #

proxy_cache_path /var/cache_handwrittner levels=1:2 keys_zone=handCache:10m max_size=10g 
                 inactive=60m use_temp_path=off;
#proxy_cache_path  /var/cache/cache_nginx_hand keys_zone=handwrittner_cashe:10m;
server {
  listen          80;
  server_name     handwrittner;
    root         /usr/share/nginx/html;

#access_log   logs/handwrittnerAccess.log  main;






proxy_cache handCache;
 location / {
proxy_cache_methods GET HEAD POST;

proxy_cache_valid 200 1d;




    proxy_pass        http://localhost:8080;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  Host $http_host;
  }


   error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
        location = /COOPBL.TTF {
        root /usr/share/nginx/html;
        }
  location = /error.css {
        root /usr/share/nginx/html;
        }



}





    #include /etc/nginx/conf.d/*.conf;
    #include /etc/nginx/sites-enabled/*;
}

Увеличение рабочих не работает, тогда я получаю еще одну ошибку (я не помню)

в каком направлении мне смотреть?

...