Задавал вопрос тут <https://toster.ru/q/330257>, но опишу суть проблемы и симптомы:
Во время релоада конфига nginx (4 ядра, 4Gb, выступает в роли reverse proxy) временно перестает отвечать на запросы, включая и те, что приходят на localhost (zabbix рапортует о недоступности). RPS при этом находится на уровне 1600-1800, netstat ничего, на мой взгляд, необычного, не показывает. dmesg и error.log о проблемах не сообщают. $ 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 65535net.ipv4.conf.all.accept_redirects=0net.ipv4.conf.all.secure_redirects=0net.ipv4.conf.all.send_redirects=0net.core.netdev_max_backlog=10000net.ipv4.tcp_syncookies=0net.ipv4.tcp_max_syn_backlog=20480net.ipv4.tcp_synack_retries=2net.ipv4.tcp_syn_retries=2net.ipv4.tcp_rmem=4096 87380 16777216net.ipv4.tcp_wmem=4096 65536 16777216net.core.rmem_max=16777216net.core.wmem_max=16777216net.netfilter.nf_conntrack_max=1048576net.ipv4.tcp_congestion_control=htcpnet.ipv4.tcp_timestamps=1net.ipv4.tcp_no_metrics_save=1net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_tw_recycle=0net.ipv4.tcp_max_tw_buckets=1400000net.core.somaxconn=250000net.ipv4.tcp_keepalive_time=900net.ipv4.tcp_keepalive_intvl=15net.ipv4.tcp_keepalive_probes=5net.ipv4.tcp_fin_timeout=10 Графики некоторых статистик *netstat -s* здесь <http://joxi.ru/GrqY6MPUKnOPrz> Так же смотрел параллельно *strace -f -p master_pid* и *strace -p worker1_pid -p workerN_pid *при выполнении *service nginx reload* В логах strace наблюдается следующее: getsockopt(556, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 accept4(10, 0x7ffd02e26b90, [110], SOCK_NONBLOCK) = -1 EAGAIN (Resource temporarily unavailable) и [pid 27364] getsockopt(556, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 [pid 27364] writev(556, [{"POST /test?arg=value HTT"..., 493}, { "v=1&_v=j44&a=124365396&t=554343"..., 573}, {"D0%BE%D0%B9%2C%20%D0%BB%D1%83 %D1"..., 3238}], 3) = 4304 [pid 27364] recvfrom(45, 0x7ffd02e26bff, 1, 2, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) [pid 27364] recvfrom(151, "\26", 1, MSG_PEEK, NULL, NULL) = 1 Это похоже на то, что могло бы стать причиной моей проблемы? (заранее оговорю - до этого strace'ом пользовался сильно вскользь) Заранее спасибо за любую помощь. -- Sincerely, Dmitry Ansimov freelance system administrator skype: cardinal-gray
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru