Чрезмерное количество открытых соединений с экземплярами Mongos - PullRequest
0 голосов
/ 05 июля 2018

Мы переходим от одного набора реплик к осколкам и испытываем некоторые проблемы. У нас есть 3 экземпляра mongos, 3 сервера конфигурации и 15 узлов данных (5 шардов с 3 репликами). Мы наблюдаем очень низкую производительность запросов и, глядя на экземпляры mongos, я вижу что-то вроде 25 тыс. Открытых соединений за экземпляр!

Например, я вижу строки журнала вроде

[listener] connection accepted from 10.10.36.122:35098 #521622 (23858 connections now open)

и

[conn498875] end connection 10.10.36.122:41520 (23695 connections now open)

Для справки, у нас есть другая почти идентичная среда, в которую мы еще не перешли к шардингу, которая показывает ~ 250 открытых соединений.

Код приложения использует драйвер nodejs и использует URL-адрес подключения, который выглядит примерно так:

mongodb://mongos0.some.internal.domain:27017,mongos1.some.internal.domain:27017,mongos2.some.internal.domain:27017

Я немного растерялся из-за того, как отследить эту проблему. Разве это не правильный способ подключения к монгос?

РЕДАКТИРОВАТЬ (7/7/18)

После некоторых экспериментов я обнаружил, что мы использовали connectTimeoutMS из 180000 (3 минуты). Удаление этого значения решило проблему. Однако до сих пор неясно, почему эта конфигурация работает с автономным набором реплик, но вызывает проблемы при разделении. Кто-нибудь может объяснить, что здесь происходит?

...