Flask Cloudant медленное время отклика

Я создаю приложение Flask, которое подключается к базе данных Cloudant с помощью библиотеки python cloudant.

Мое время отклика, когда я просто добавляю оператор соединения (без запросов), может быть где-то от 0,4 до 12 секунд. Мое заявление о подключении выглядит так:

client = Cloudant(USERNAME, PASSWORD, url=URL, connect=True)

Когда я удаляю код подключения, мое время отклика очень мало.

Я запустил в своей системе профилировщик, и он показывает, что увеличение времени отклика связано с чтением сокета ssl.

Я также попытался использовать пример по умолчанию от IBM Bluemix Github и получил аналогичные результаты для времени отклика.

Я запускаю свое приложение Flask, используя встроенный веб-сервер разработки. Я пытался подключиться к базе данных перед каждым запросом, и я пытался использовать одно соединение, которое используется повторно. Может ли эта задержка быть из-за моей локальной машины? И что заставило бы это быть быстрым несколько раз, а не другие? В других сообщениях предлагались проблемы с IPv6 или DNS, но я не думаю, что это так.

С вызовами API, такими как:

ddoc = DesignDocument(g.db, '_design/docs')
g.myview = View(ddoc, 'my-view')
g.myview(key=[somekey])['rows']

Я уже создал представления и проиндексирован соответствующим ключом, поэтому он не замедляется из-за индексации.

1 ответ

Попробуйте использовать этот код для подключения к вашей базе данных Cloudant:

def conn(user, pwd, db, **kwargs):
    client = Cloudant(user, pwd, account=kwargs.get('host', user))
    client.connect()
    database = self.client[db]
Другие вопросы по тегам