Новые подробности. Благодаря советам, решил попытаться дать такую нагрузку на nginx, чтобы потом заsegfault-ив memcached, попытаться смоделировать у проблему у клиента. Однако, заинтересовала ситуация, возможно, подобная тому, что есть у клиента, по меньшей мере, по загрузке CPU и косвенным признакам, что memcached является причиной.
В общем.
upstream memcached_cluster {
server 10.197.162.35:11211; # <------ такого memcached нету либо он не запущен (или упал, завис как в случае как у клиента)
hash $uri/3.6;
hash_again 1000;
keepalive 512;
}
Запускаю nginx с описанным выше upstream.
Если запросов нету, которые приводят к обращению к memcached_cluster, то все нормально,
но когда приходит несколько запросов (может быть даже 1, точно не скажу, но 5-10 точно хватит), начинается загрузка CPU примерно 96-99.5% при server, который не работает (или был, но упал/завис).
Естественно, если server работает, то все нормально и такой загрузки нету.
После такой загрузки, service nginx stop/restart пытается остановить, перезапустить сервис, но ... я не дождался. Более подробно - ниже.
------------------------------------------------------------------------------------------------------------
ps uax | grep nginx
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
nginx 5072 0.0 0.2 428488 16500 ? S 11:03 0:00 nginx: worker process
nginx 5073 0.0 0.2 428488 16500 ? S 11:03 0:00 nginx: worker process
nginx 5074 0.0 0.2 428488 16500 ? S 11:03 0:00 nginx: worker process
nginx 5075 0.0 0.0 416764 4724 ? S 11:03 0:00 nginx: cache manager process
root 15711 0.0 0.1 416764 6532 ? Ss May25 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 15715 3.8 0.2 426956 15468 ? R< May25 40:17 nginx: worker process
root 5130 0.0 0.0 103268 896 pts/2 S+ 11:03 0:00 grep nginx
------------------------------------------------------------------------------------------------------------
top
top - 11:08:11 up 2 days, 2 min, 3 users, load average: 1.03, 1.03, 0.92
Tasks: 96 total, 2 running, 94 sleeping, 0 stopped, 0 zombie
Cpu(s): 98.0%us, 0.0%sy, 2.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 5993264k total, 2813292k used, 3179972k free, 221772k buffers
Swap: 3145724k total, 0k used, 3145724k free, 1060512k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15715 nginx 15 -5 416m 15m 1256 R 97.2 0.3 44:23.91 nginx
------------------------------------------------------------------------------------------------------------
# service nginx restart
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Stopping nginx:..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................^C
Пришлось, как видно, сделать Ctrl + C, а затем kill -9
------------------------------------------------------------------------------------------------------------
error_log в режим error:
2016/05/26 11:21:29 [alert] 15711#0: worker process 15715 exited on signal 9
2016/05/26 11:24:42 [error] 7159#0: *1 upstream timed out (110: Connection timed out) while connecting to upstream, client: 172.16.11.46, server: 10.197.162.35, request: "GET /url1?rnd=0.7008626744856947 HTTP/1.1", upstream: "memcached://10.197.164.22:11211", host: "172.20.1.240", referrer: "http://172.20.1.240/url2"
2016/05/26 11:24:47 [error] 7159#0: *1 upstream timed out (110: Connection timed out) while connecting to upstream, client: 172.16.11.46, server: 10.197.162.35, request: "GET /url1?rnd=0.7008626744856947 HTTP/1.1", upstream: "memcached://10.197.162.35:11211", host: "172.20.1.240", referrer: "http://172.20.1.240/url2"
------------------------------------------------------------------------------------------------------------
Установил error_log в режим info:
2016/05/26 12:15:51 [notice] 11221#0: using the "epoll" event method
2016/05/26 12:15:51 [notice] 11221#0: nginx/1.4.2
2016/05/26 12:15:51 [notice] 11221#0: built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
2016/05/26 12:15:51 [notice] 11221#0: OS: Linux 2.6.32-504.12.2.el6.x86_64
2016/05/26 12:15:51 [notice] 11221#0: getrlimit(RLIMIT_NOFILE): 2048:4096
2016/05/26 12:15:51 [notice] 11222#0: start worker processes
2016/05/26 12:15:51 [notice] 11222#0: start worker process 11224
2016/05/26 12:15:51 [notice] 11222#0: start worker process 11225
2016/05/26 12:15:51 [notice] 11222#0: start worker process 11226
2016/05/26 12:15:51 [notice] 11222#0: start cache manager process 11227
2016/05/26 12:15:51 [notice] 11222#0: start cache loader process 11228
2016/05/26 12:16:51 [notice] 11228#0: http file cache: /var/cache/nginx/ftl 0.055M, bsize: 4096
2016/05/26 12:16:51 [notice] 11228#0: http file cache: /var/cache/nginx/systemConfig 0.008M, bsize: 4096
2016/05/26 12:16:51 [notice] 11228#0: http file cache: /var/cache/nginx/banners 0.000M, bsize: 4096
2016/05/26 12:16:51 [notice] 11228#0: http file cache: /dev/shm/screenshots 0.000M, bsize: 4096
2016/05/26 12:16:51 [notice] 11222#0: signal 17 (SIGCHLD) received
2016/05/26 12:16:51 [notice] 11222#0: cache loader process 11228 exited with code 0
2016/05/26 12:16:51 [notice] 11222#0: signal 29 (SIGIO) received
2016/05/26 12:20:35 [error] 11224#0: *1 upstream timed out (110: Connection timed out) while connecting to upstream, client: 172.16.11.46, server: 10.197.162.35, request: "GET /url1?rnd=0.9631175188545227 HTTP/1.1", upstream: "memcached://10.197.162.35:11211", host: "172.20.1.240", referrer: "http://172.20.1.240/url2"