ECS: xDoctor RAP153: Tilkoblingsgrense (1000) nådd på ECS-noder, ingen ny tilkobling
Summary: Applikasjonslesing og -skriving til ECS kan ikke opprette flere socket-tilkoblinger. I noen scenarier kan dette problemet føre til potensiell datautilgjengelighet hvis programmet åpner for mange tilkoblinger som er større enn standard tilkoblingsgrenser. ...
Symptoms
Programmet kan ikke opprette nye nettverkstilkoblinger for HTTP-forespørsler.
Cause
ECS-noder har en tilkoblingsgrense på 1000 per node. Hvis denne grensen overskrides, dataheadsvc Viser følgende feil:
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 mer informasjon, analyserer du loggene med svc_log for å telle oppføringene for "Tilkoblingsgrense (1000) nådd" i de siste 30 minuttene.
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 problemet er vanligvis et programproblem med hvordan programmet åpner og lukker nettverkstilkoblinger. Brukerens program eller lastbalanserer skal håndtere tilkoblingene og lukke tilkoblingene når de er fullført. Applikasjonen bør alltid prøve å løse problemet på deres side før de endrer ECS, da dette fører til mer belastning på ECS.
Hvis du vil ha hjelp til å identifisere problemet, kan du bruke netstat under arrangementet for å få IP-ene som har etablerte forbindelser.
Kommandoen:
# 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
For å se antall tilkoblinger i gjeldende tid, bruk denne kommandoen:
admin@ecsnode1:~> sudo ss -tn sport = :9020 | wc -l