ECS: xDoctor RAP153: Forbindelsesgrænse (1000) nået på ECS-noder, ingen ny forbindelse
Summary: Programlæsning og -skrivning til ECS kan ikke oprette flere sokkelforbindelser. I nogle scenarier kan dette problem forårsage potentiel datautilgængelighed, hvis programmet åbner for mange forbindelser, der er større end standardforbindelsesgrænserne. ...
Symptoms
Programmet kan ikke oprette nye netværksforbindelser til HTTPs-anmodninger.
Cause
ECS-noder har en forbindelsesgrænse på 1000 pr. node. Hvis denne grænse overskrides, dataheadsvc Viser følgende fejl:
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}]
Hvis du vil se flere oplysninger, skal du analysere logfilerne med svc_log for at tælle posterne for "Forbindelsesgrænse (1000) nået" i de sidste 30 minutter.
Kommandoer:
# 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
Eksempel:
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
Dette problem er generelt et programproblem med, hvordan programmet åbner og lukker netværksforbindelser. Brugerens program eller belastningsbalancer skal håndtere forbindelserne og lukke forbindelserne, når de er fuldført. Programmet bør altid forsøge at løse problemet på deres side først, før de skifter ECS, da dette medfører mere belastning på ECS.
Du kan hjælpe med at identificere problemet ved at bruge netstat under begivenheden for at få de IP'er, der har etableret forbindelser.
Kommando:
# sudo ss | grep 9020
Eksempel:
admin@ecsnode1:~> sudo ss | grep 9020 ESTAB 0 0 [::ffff:10.xx.xxx.71]:9020 [::ffff:10.xxx.xxx.9]:56134
Hvis du vil se antallet af forbindelser i det aktuelle klokkeslæt, skal du bruge denne kommando:
admin@ecsnode1:~> sudo ss -tn sport = :9020 | wc -l