Почему nginx недоступен во время reload?

Во время релоада конфига nginx (4 ядра, 4Gb, выступает в роли reverse proxy) временно перестает отвечать на запросы, включая и те, что приходят на localhost (zabbix рапортует о недоступности). RPS при этом находится на уровне 1600-1800, netstat ничего, на мой взгляд, необычного, не показывает.

$ netstat -tpn |awk '/:80/||/:443/{print $6}' |sort |uniq -c                                                                    3 CLOSE_WAIT
     13 CLOSING
  17568 ESTABLISHED
    292 FIN_WAIT1
    962 FIN_WAIT2
    171 LAST_ACK
    309 SYN_RECV
  54314 TIME_WAIT

$ netstat -tpn |awk '/nginx/{print $6,$7}' |sort |uniq -c
   3124 ESTABLISHED 10005/nginx
   3073 ESTABLISHED 10006/nginx
   2965 ESTABLISHED 10007/nginx
   2980 ESTABLISHED 10008/nginx


немного nginx.conf:

worker_processes  4;
timer_resolution 100ms;
worker_priority -15;
worker_rlimit_nofile 200000;

events {
  worker_connections  65536;
  multi_accept on;
  use epoll;
}

http {

  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;

  keepalive_requests 100;
  keepalive_timeout  65;

  server {
    listen  80 default_server backlog=1000;
    listen  443 ssl backlog=1000;
    ....
    }
}


custom sysctl.conf

net.ipv4.ip_local_port_range=1024 65535
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.all.send_redirects=0
net.core.netdev_max_backlog=10000
net.ipv4.tcp_syncookies=0
net.ipv4.tcp_max_syn_backlog=20480
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_syn_retries=2
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.netfilter.nf_conntrack_max=1048576
net.ipv4.tcp_congestion_control=htcp
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=0
net.ipv4.tcp_max_tw_buckets=1400000
net.core.somaxconn=250000
net.ipv4.tcp_keepalive_time=900
net.ipv4.tcp_keepalive_intvl=15
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_fin_timeout=10
  • Вопрос задан
  • 1102 просмотра
Пригласить эксперта
Ответы на вопрос 2
@nesterwsx
dmesg + error.log?
+ полезно добавить в заббикс графики по tcp из netstat -s
Ответ написан
TaN
@TaN
Имеется абсолютно такая же проблема. Так же nginx перестаёт отвечать при ротации логов.
Причину найти так и не смогли.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы