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]