Простой способ предотвратить простаивание Heroku?

В бесплатных приложениях Heroku динамометрические станции, кажется, не работают - у моего приложения очень низкий трафик, но в моем случае также неприемлемо, что моим пользователям приходится ждать 20+ секунд, чтобы запустить новый дино.

Откровенно говоря, при таком ожидании многие уйдут еще до того, как отобразится первая страница.

Итак, у меня проблема: должен ли я платить 36 долларов в месяц, чтобы сэкономить каждому пользователю неприлично долгие 20 секунд, когда мой трафик выражается однозначными числами за день. Мы работаем с python + mongoDb. У меня возникла следующая проблема: у меня есть курсор pymongo после выполнения команды find () для mongo db. The ...

Я работаю над проектом поисковой системы.
Мы работаем с python + mongoDb.
У меня возникла следующая проблема:

У меня появился курсор pymongo после выполнения команды find () для базы данных mongo.
Курсор pymongo дает около 20 тыс. Результатов.

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

Я провел небольшой тест:

] -терация по списку из 20 тыс. строк: 0,001492 секунды
-итерация над курсором pymongo с результатом 20k: 1,445343 секунды

Разница действительно большая. Может быть, это не проблема с таким количеством результатов, но если бы у меня были миллионы результатов, время было бы неприемлемым.

Кто-нибудь знает, почему курсоры pymongo слишком медленные для повторения?
Есть идеи, как перебрать курсор за меньшее время?

Дополнительная информация:

  • Python v2.6
  • PyMongo v1.9
  • MongoDB v1.6 32 бит
9
задан tshepang 23 February 2014 в 17:36
поделиться