Задать вопрос
@mrmoney
Администрирую web серверы и сервисы

Почему mongodb нагружает систему до 100%?

Доброе утро коллеги, у меня появилась такая проблема:
Имеется сервер:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
CPU MHz: 3699.984
BogoMIPS: 7200.07
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
64 gb памяти и 520gb ssd

Active connections: 14917
server accepts handled requests
277170 277170 36352500
Reading: 0 Writing: 6100 Waiting: 8770

На сервере усстановлен nginx+php5-fpm и mongodb, на данный момент на сервер ломится 15к пользователей, 7 из которых nginx успевает обаработать, остальные весят в статусе Waiting: 8353
htop показывает что все ядра процессора загружены и самый тяжелый процесс это mongodb, подскажите куда копать и что делать!
  • Вопрос задан
  • 2342 просмотра
Подписаться 2 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 4
Оптимизируй запросы к БД.
У самого была такая же проблема(правда на mysql, но суть думаю та же). Проблема была в том, что я делал много запросов на 1 таблицу(select и update) с 1,5М записей=>запросы выполнялись по 1+ секунде=>собирались в очередь=>нагружали процессор. Решил проблему убрав запросы на чтения из этой таблицы, сделав отдельную таблицу, где уже были посчитанные значения.

Upd. С mongodb не знаком, но нагуглил аналог SHOW PROCESS LIST для mongodb: https://docs.mongodb.org/manual/reference/method/d...
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
подскажите куда копать и что делать!

Для начала отследить, что его так грузит. Если виновник будет найден - простить и понять.

Если не найден: разделяйте систему между несколькими серверами.

15к пользователей

Это rps, или постоянное количество открытых соединений?
Ответ написан
AMar4enko
@AMar4enko
https://docs.mongodb.org/manual/tutorial/manage-th...
Включаете лог медленных запросов и смотрите, в чем проблема.
Наверняка индекс куда-то забыли добавить и монга какие-то запросы полным перебором вытаскивает.
Ответ написан
@lega
Скорей всего нужных индексов не добавили.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы