Настройка: кластер mongodb из 3 серверов (версия 3.4) с одним основным сервером и двумя наборами / шардами реплик.В одной коллекции содержится 33 тыс. Документов, а общий размер коллекции составляет 4,8 мегабайта.
Клиент работает под управлением Linux с использованием драйвера C # mongo.У меня запущен процесс localhost mongos, подключенный к кластеру.
У меня очень низкая производительность чтения через mongos.Для чтения этой коллекции через mongos требуется всего 31 секунда, чтобы выполнить простой collection.find ({}).При непосредственном подключении к любому из трех серверов запрос занимает 1 секунду.
Статистика выполнения запроса показывает, что сам поиск ({}) занимает 18 миллисекунд в базе данных.Все три сервера кажутся здоровыми.Нет журналов ошибок в них или в журналах Mongos.Размер пакета установлен в 0, C # не выдает никаких GetMores.Попытка установить размер пакета также 35 КБ.
Что я могу сделать, чтобы устранить это экстремальное несоответствие производительности?Что, возможно, пошло не так с монго?