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

Медленный монгодб на рубине на рельсах

У меня есть приложение ruby ​​on rails с запущенными mysql и mongodb (mongoid framework).

Тестировал нагрузку с осадой с настройкой -c 60 -r 10 на одной странице есть 2 поисковые запросы станций. каждый занимает более 22 секунд. это запрос:

QUERY database=**** collection=stationsongs selector={"$query"=>{"station_id"=>12812}, "$orderby"=>{"_id"=>-1}} flags=[] limit=10 skip=0 batch_size=nil fields=nil

Обе станции по поисковым запросам одинаковы (и да, я знаю, что должен дойти до одного, но это все равно огромная медлительность)

У меня в коллекции всего чуть больше 1 миллиона, и у меня есть индекс по station_id и _id. VPS имеет 4 ядра с 32 ГБ оперативной памяти.

Почему так медленно ?!

Проблема была неоднозначной. Это была производительность на VPS, а также на индексе mongodb. Я добавил правильный индекс, и он решил некоторые проблемы, но по-прежнему оставались медленные запросы из-за медленного процессора. Итак, перешел на выделенный сервер, и все было исправлено, теперь ответ составляет менее 80 мс, а не 22 секунды.

VPS был перегружен клиентами, поэтому у моего процессора было украдено 60-70% мощности.