Я запускаю нагрузочный тест на Mongodb, используя java-драйвер на стороне клиента.
Настройка кластера включает в себя: 3 Mongo, 3 сервера конфигурации, 3 шарда, каждый из которых имеет 3 члена (основной, дополнительный и узел арбитра). Все работает на отдельной машине.
Конфигурационные серверы и узлы сегментов настроены с размером кеша wiredTiger 4 ГБ.
На стороне клиента я каждый раз вставляю один и тот же документ.Здесь _id генерируется автоматически.Размер документа фиксированный и составляет всего 900 байт.
При выполнении загрузки транзакции 40 Кбит / с от одного клиента с использованием операции insertOne, я получаю около 40 КБ транзакций в секунду.Но этот TPS значительно падает и постепенно становится ноль после полного использования ОЗУ (кеш WT и кеш файловой системы (Linux)).т.е. я не могу вставить больше документов в БД.
Однако я попытался вставить документы, используя второй клиент, чтобы проверить, является ли это проблемой на стороне клиента.Но также не удалось вставить.
IOStats сервера, имеющего первичный узел:
MongoStats на первичном узле:
MongoTop на основном узле: