ECS: xDoctor RAP153: Anslutningsgräns (1 000) har uppnåtts på ECS-noder, ingen ny anslutning
Summary: Programläsning och skrivning till ECS kan inte upprätta fler socketanslutningar. I vissa fall kan det här problemet orsaka potentiell dataotillgänglighet om programmet öppnar överdrivna anslutningar som är större än standardanslutningsgränserna. ...
Symptoms
Programmet kan inte upprätta nya nätverksanslutningar för HTTPs-begäranden.
Cause
ECS-noder har en anslutningsgräns på 1 000 per nod. Om denna gräns överskrids, dataheadsvc Visar följande fel:
169.xxx.2.9 2021-02-24T21:13:08,792 [qtp85102332-247-acceptor-1@4fda771a-TrafficMetricsNetworkTrafficServerConnector@49de2cc4{HTTP/1.1,[http/1.1]}{10.xxx.xxx.xxx:9020}] INFO ConnectionLimit.java (line 177) Connection Limit(1000) reached for [TrafficMetricsNetworkTrafficServerConnector@49de2cc4{HTTP/1.1,[http/1.1]}{10.xxx.xxx.xxx:9020}, TrafficMetricsNetworkTrafficServerConnector@4e293c35{SSL,[ssl, http/1.1]}{10.xxx.xxx.xxx:9021}]
Om du vill se mer information parsar du loggarna med svc_log för att räkna posterna för "Anslutningsgräns (1000) nådd" under de senaste 30 minuterna.
Kommandon:
# svc_log dataheadsvc "Connection Limit(1000) cleared" -start "30 minutes ago" -sh -st minute # svc_log dataheadsvc "Connection Limit(1000) cleared" -start "24 hour ago" -sh -st hour
Exempel:
admin@node1:~># svc_log dataheadsvc "Connection Limit(1000) cleared" -start "30 minutes ago" -sh -st minute
svc_log v1.0.24 (svc_tools v1.8.6.0) Started 2021-02-26 18:47:10
Running on nodes: <All nodes>
Time range: 2021-02-24 21:00:00 - 2021-02-24 21:30:59
Filter string(s): 'Connection Limit(1000) cleared'
Show nodename(s): True
Search reclaim logs (if any): False
Count of message occurrences per minute:
# Log
Time Entries
------------------------------
2021-02-24 21:01:xx 0
2021-02-24 21:02:xx 0
2021-02-24 21:03:xx 0
2021-02-24 21:04:xx 41
2021-02-24 21:05:xx 134
2021-02-24 21:06:xx 8
2021-02-24 21:07:xx 10
2021-02-24 21:08:xx 11
2021-02-24 21:09:xx 0
2021-02-24 21:10:xx 0
2021-02-24 21:11:xx 0
2021-02-24 21:12:xx 412
2021-02-24 21:13:xx 650
2021-02-24 21:14:xx 0
2021-02-24 21:15:xx 0
2021-02-24 21:16:xx 0
2021-02-24 21:17:xx 0
2021-02-24 21:18:xx 0
2021-02-24 21:19:xx 0
2021-02-24 21:20:xx 0
2021-02-24 21:21:xx 0
2021-02-24 21:22:xx 0
2021-02-24 21:23:xx 0
2021-02-24 21:24:xx 0
2021-02-24 21:25:xx 0
2021-02-24 21:26:xx 0
2021-02-24 21:27:xx 0
2021-02-24 21:28:xx 0
2021-02-24 21:29:xx 0
2021-02-24 21:30:xx 0
Total: 1266
Resolution
Det här problemet är vanligtvis ett programproblem med hur programmet öppnar och stänger nätverksanslutningar. Användarens program eller lastbalanserare bör hantera anslutningarna och stänga anslutningarna när de är klara. Programmet bör alltid försöka lösa problemet på sin sida först innan ECS ändras eftersom detta orsakar mer belastning på ECS.
För att identifiera problemet använder du netstat under händelsen för att hämta de IP-adresser som har upprättat anslutningar.
Kommandot:
# sudo ss | grep 9020
Exempel:
admin@ecsnode1:~> sudo ss | grep 9020 ESTAB 0 0 [::ffff:10.xx.xxx.71]:9020 [::ffff:10.xxx.xxx.9]:56134
Om du vill se antalet anslutningar i aktuell tid använder du det här kommandot:
admin@ecsnode1:~> sudo ss -tn sport = :9020 | wc -l