специалистам:
я для разработки и тестирования развернул реплику через brew (макос), версия самая свежая монги, написал кучку тестов для своего приложения, там выполняется и поиск и инсерты\апдейты, транзакции и т.п. Тесты выполняются около 21 секунды.
И тут прочел в инете что можно легко для тестирования разворачивать монгу через run-rs , ну развернул, посмотрел, там версия 4.0.1 и внезапно тесты проходят за 7 секунд. все те же тесты, никаких изменений. Пеерепроверял несоклько раз - запускал реплику brew (локалхост все 17, 18 19 порты) 21-22 секунды, run-rs те же порты 7 -8 секунд.
Вопрос -почему 4 версия монги быстрее 7? или в run-rs есть какие то фишки и надо копать его конфиги реплики?
upd: работает медленнее 7 версия даже если там делать реплику из одной ноды локлхост:17
Интересно, что там под капотом в тестах и как коннект к монгодб организован: через mongo/mongosh или через драйвер nodejs. Версия 4.0.1 поддерживает mongo и не поддерживает mongosh, а начиная с шестой версии поддержка только mongosh, но не mongo. Mongo быстрее, чем mongosh и в mongosh это не исправят в ближайшее время
cпасибо, что отозвался, это тесты веб-приложения а не монги естественно, обычные круд операции, в том числе есть транзакции, используется гридФс. Подозреваю что работа через драйвер. Получается дело именно в особенности версии а не каких то магических настройках?
Возможно это связано с изменениями в readConcern в 5.0, там по-умолчанию чуть выше гарантии установлены. Но я не уверен как это для single node replica set работает
я вот тоже подумал что может сделали медленнее, но надежнее =)
просто дополню - на винде 10 с версией монги 7 скорость уже выше, по сути как и на run-rs из примера. Так что склоняюсь что это какие то специфические настройки 7 версии для макос.
Обсуждают сегодня