Назад | Перейти на главную страницу

Производственный сервер Mongodb слишком медленный по сравнению с постановкой

У нас есть два набора серверов баз данных и серверов приложений, работающих на Rackspace VPS. Производство и постановка. Приложение находится на Rails, а база данных - MongoDB.

Хотя постановка (с таким количеством документов, как prod, 55k) работает нормально, рабочий сервер ужасно медленный. В 20 и более раз. Даже простые запросы занимают около 18 секунд!

Вот что я сделал до сих пор и до сих пор не могу разобраться в этом.

Вот моментальный снимок производства mongostat при выполнении некоторых вызовов db:

insert  query update delete getmore command flushes mapped  vsize    res faults locked % idx miss %     qr|qw   ar|aw  netIn netOut  conn       time 
     0      0      0      0       0       1       0  1.95g  4.55g   122m     76        0          0       0|0     1|0    62b     1k     2   09:07:25 
     0      0      0      0       0       1       0  1.95g  4.55g   119m    121        0          0       0|0     1|0    62b     1k     2   09:07:26 
     0      0      0      0       0       1       0  1.95g  4.55g   120m     80        0          0       0|0     1|0    62b     1k     2   09:07:27 
     0      0      0      0       0       1       0  1.95g  4.55g   118m    116        0          0       0|0     1|0    62b     1k     2   09:07:28 

Почему так много недостатков? Это нормально? Любая помощь / понимание будет очень признательно.

Оказывается, виноватым было что-то другое. Пакет отчетов об ошибках Ubuntu под названием Whoopsie. Вот как это отслеживали.

  • Mongostat показал необычно большое количество ошибок, что означало, что данные не были доступны в ОЗУ и, вероятно, mongo попадал на диск для каждого запроса.
  • Затем я выпустил Linux свободно команда. Это не помогло. На самом деле это вводит в заблуждение, когда сообщается о свободной оперативной памяти. Посмотрите здесь www.linuxatemyram. com
  • верхняя команда тоже не принесла пользы, и всегда показывала, что наибольшее использование памяти было у mongo, которое не превышало 20%. Почему тогда Монго не использовал оставшуюся память ?!
  • Быстрый поиск в Google инструментов мониторинга системы / памяти показал htop как любимый.

Вот htop вывод на сервер. http://i.imgur.com/BLK74vj.png - изображение

Колоссальные 43,7% RAM съедены Whoopsie !! Неплохой момент. Оказалось, что это повлияло как на производственные, так и на промежуточные серверы, но постановка все же в некоторой степени сохранилась. Спустя еще несколько поисков в Google я обнаружил, что это действительно ошибка Ubuntu. https://bugs.launchpad.net/bugs/998521

Я не думал, что whoopsie - демон отправки базы данных при сбое Ubuntu - нужен на моем сервере в качестве критического компонента. Пошел вперед и apt-get удален в очищенный пакеты со всех серверов.