Задержка на aws (m1.large) с MongoDB 64b 2.x - PullRequest
4 голосов
/ 24 декабря 2011

Я развернул версию mongodb 64 bit 2.x на экземпляре aws m1.large.

Я пытаюсь найти лучшую производительность, которую mongo может дать нам на aws в свете http://www.snailinaturtleneck.com/blog/tag/mongodb/ производительность чтения / записи mongodb и хостинга mongo в облаке )

Я создал одну базу данных с одной коллекцией, то есть пользователем, и вставил 100 000 записей / объект json (каждый размер объекта json равен 4 КБ), используя случайное число в качестве суффикса для «user-». Также создан индекс по идентификатору пользователя.

Далее, я настроил db profiler на ведение журнала медленных запросов, занимающих 20 мс или более. Я выполнил программу Java с 10 потоками. Каждый класс Java генерирует идентификатор пользователя со случайным числом и находит его в коллекции пользователей в бесконечном цикле. При такой нагрузке я наблюдал задержку в запросе / чтении до 60 мс.

Я также заметил, что, когда я запускаю меньшее количество потоков, скажем, 3 или 4 (при загрузке запроса для сбора пользователей 5 КБ в секунду, чтобы найти пользователей), тогда я не вижу задержки или менее 2 мс.

Мне не удалось понять, почему увеличение нагрузки по поиску пользователя в коллекции вызывает задержку. Я считаю, что mongo db может выполнять намного более параллельное чтение, чем то, что я пытаюсь, и не должно влиять на производительность как таковую.

Одна возможность, которую я предполагаю, будет: у mongo проблемы с производительностью, если в одной коллекции выполняются большие запросы, как в нашем случае, я ожидаю, что в одной коллекции будет от 10 до 20 000 запросов в секунду.

Мы будем признательны за ваши мысли / предложения.

1 Ответ

0 голосов
/ 26 июля 2012

Некоторая информация отсутствует - какая у вас конфигурация диска?EBS может способствовать задержке, если все сохраняется на диске.

Компания Amazon выпустила официальный документ с рекомендациями по установке mongo на EC2: MongoDB на AWS .Вот его описание

В этом техническом документе представлен обзор общих рекомендаций, применимых ко всем основным системам NoSQL, а также освещена одна из популярных систем NoSQL - MongoDB - и обсуждается, как лучше всего запустить ее в облаке AWS.Далее рассматриваются различные конфигурации MongoDB, чтобы вы могли оптимизировать их для производительности, долговечности и безопасности.

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