ECS: xDoctor RAP153: ECS düğümlerinde bağlantı sınırına (1000) ulaşıldı, yeni bağlantı yok
Summary: ECS de uygulama okuma ve yazma işlemleri daha fazla soket bağlantısı kuramıyor. Bazı senaryolarda, uygulama varsayılan bağlantı sınırlarından daha fazla bağlantı açıyorsa bu sorun olası verilerin kullanılamamasına neden olabilir. ...
Symptoms
Uygulama, HTTP istekleri için yeni ağ bağlantıları kuramıyor.
Cause
ECS düğümlerinde düğüm başına 1000 bağlantı sınırı vardır. Bu sınırın aşılması halinde, dataheadsvc Aşağıdaki hatayı gösterir:
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}]
Daha fazla bilgi görmek için günlükleri ile ayrıştırın. svc_log son 30 dakikadaki "Connection Limit (1000) reached" girdilerini saymak için.
Komutlar:
# 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
Örneğin:
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
Bu sorun genellikle uygulamanın ağ bağlantılarını nasıl açıp kapattığıyla ilgili bir uygulama sorunudur. Kullanıcının uygulaması veya yük dengeleyicisi bağlantıları işlemeli ve tamamlandıktan sonra bağlantıları kapatmalıdır. ECS üzerinde daha fazla yüke neden olduğundan uygulama, ECS'yi değiştirmeden önce her zaman sorunu kendi tarafında çözmeye çalışmalıdır.
Sorunu tanımlamaya yardımcı olması için şunu kullanın: netstat etkinlik sırasında bağlantı kuran IP'leri almak için.
Komut:
# sudo ss | grep 9020
Örneğin:
admin@ecsnode1:~> sudo ss | grep 9020 ESTAB 0 0 [::ffff:10.xx.xxx.71]:9020 [::ffff:10.xxx.xxx.9]:56134
Geçerli zamandaki bağlantı sayısını görmek için şu komutu kullanın:
admin@ecsnode1:~> sudo ss -tn sport = :9020 | wc -l