Как проверить производительность агрегации MongoDB? - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть операция агрегации в MongoDB, и я хочу проверить ее производительность при одновременном выполнении 1000 или более.

MongoDB предоставил benchRun , но грамматика агрегации не найдена.Мой код, как показано ниже, код не имеет значения:

db.category.aggregate([ 
    {   $match: {city:'010'} }, 
    {
        $project: {
            "geometric_mean": { 
                $pow: [ $val, 2]
            }
        }
    },
    { $sort: {'geometric_mean': -1} }
],{ "allowDiskUse": true } );

Как использовать benchRun для агрегирования, или есть какой-нибудь инструмент для этого?

1 Ответ

0 голосов
/ 25 декабря 2018

Я ожидаю, что вам не следует тестировать базу данных напрямую, хорошо себя вести нагрузочный тест должен имитировать реальное использование тестируемой системы как можно ближе, чтобы вместо того, чтобы забивать MongoDB одним запросом, используя 1000+ потоков(что также не самый лучший подход из-за кэширования результатов ). Вы должны имитировать более 1000 пользователей, использующих ваше приложение.Я полагаю, что вы найдете гораздо больше проблем, кроме конкретной производительности запросов.


Если вы все еще ищете способ нагрузочного тестирования базы данных MongoDB с использованием произвольного кода - вы можете проверить Apache JMeter , он предоставляет относительно простые способы настройки MongoDBподключение и выполнение запросов.Ознакомьтесь с Как загрузить Test MongoDB с JMeter , чтобы получить подробные инструкции при необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...