Клиент gemfire весенней сессии - Поток нитей - Черный список - PullRequest
0 голосов
/ 30 мая 2019

Мы создали решение для розничной торговли, в котором обработка сеанса осуществляется в сеансе Spring. Мы используем gemfire для поддержки объектов сеанса и используем клиент в качестве клиентского модуля данных gemfire для сеанса Spring.У нас были начальные подключения, и это было в конечном итоге и работает.Но когда нагрузка на контейнеры, в которых выросло приложение, вызывает серьезные проблемы с реакцией приложения. Время отклика увеличивается также настолько, что запросы не обрабатываются.

Мы проанализировали дампы потоков и увидели, чтомногие потоки, связанные с клиентом gemfire, находятся в заблокированном или ожидающем состоянии.Параметры jvm, загрузка ЦП и память кучи - все в порядке, даже с нагрузкой, которая вызывает проблему.

Из анализа дампа потока видно следующее:

Сервлет конфликта потоков- dispatcher: render заблокирован на org.apache.geode.cache.client.internal.ConnectionImpl@3afbbf9

Из клиентских журналов gemfire наблюдается следующее:

4 /30/19 12: 03: 21.559 PM [m [30m2019-04-30 12: 03: 21,559 [Тема обновления клиента кэша на XX.XX.XX.XX (XXXXX: 62475): 1024 порт 40404] ИНФОРМАЦИЯ: Конечная точка избыточной подпискиXXXXX: 40404 разбился.Планирование восстановления.Первый черный список регистрируется как: 30.04.19 12: 03: 21.631 PM [m [34m2019-04-30 12: 03: 21 630 [queueTimer-DEFAULT] ПРЕДУПРЕЖДЕНИЕ: поток обновления клиента кэширования в XX.XX.XX.XX(XXXXX: 76221): порт 1040 40404 (XXXXX: 40404): возникла следующая исключительная ситуация при попытке создать сокет связи сервера с клиентом, что приведет к выходу: org.apache.geode.cache.client.ServerRefusedConnectionException:: 40404 отказано в соединении: java.lang.Exception: этот клиент занесен в черный список сервером

После внесения в черный список этот экземпляр приложения становится мертвым во всех отношениях. Он не сможет обработать любой запрос.

Любая помощь очень ценится с точки зрения этого черного списка.

1 Ответ

0 голосов
/ 31 мая 2019

Черный список или более новый термин denylist означает, что клиент должен был медленно реагировать на события.

Подробнее о том, как управлять и предотвращать медленных получателей, можно узнать из документов: https://gemfire.docs.pivotal.io/98/geode/managing/monitor_tune/slow_receivers.html

Главным недостатком этих документов является то, что клиенты имеют достаточно ресурсов и не испытывают недостатка в циклах процессора, сети, диска или оперативной памяти.

Если клиенты работают в виртуализированной среде, взгляните на время кражи или время готовности с точки зрения vshpere для виртуальной машины, на которой работает клиент.Если клиент работает в контейнере, также убедитесь, что он не контролируется, потому что он превысил квоту.

Код для denylist: https://github.com/apache/geode/search?q=denylist&unscoped_q=denylist

...