У меня есть база данных Mongolab, содержащая коллекцию на небольших документах таймсериала.Колба чрезвычайно медленно запрашивает MongoLab
Каждый документ содержит кусочек определенного времени (250 дневных значений цены для определенного запаса в каждом документе). Коллекция индексируется в поле запроса.
мне нужно запросить все кусочки, связанные с одной конкретной акции, как это:
cursor = db.timeseries.find({'stock':'IBM'}) # this line executes in very small time
slices = [slice for slice in cursor] # this line takes 10 seconds
# to give an idea, cursor.count() could be anywhere between 10 and 40
Если я запускаю этот код в интерпретатор Python, он завершает в подразделах 300 мс.
Если я использую тот же код, на том же дне, в Flask, работающем на локальном, он принимает 10 секунд (!!!). Проблема заключается не в выборе данных с find()
, который отлично работает, а скорее запрашивает все данные обратно.
Заметьте, что если я подключу локальное приложение для фляги к местному mongodb, он отлично работает.
Я не нашел подобную проблему, связанную с флягой, упомянутую онлайн. Любые подсказки?
Укажите, пожалуйста, имя хоста? Или IP-адрес? – 101
В начале приложения я указываю 'app.config ['MONGO_URI'] = 'mongodb: //: @ dsxxxxxx.mongolab.com: 55802/'' –
Pythonic
Это может быть проблема поиска DNS. Попробуйте подключиться к IP вместо имени хоста, например '50.19.86.168' вместо' dsxxxxxx.mongolab.com'. Разрешение IP может занять много времени. – 101