Держать ли 1 соединение или открывать/закрывать под каждый запрос? mongo db + motor
Держать ли 1 соединение или открывать/закрывать под каждый запрос? mongo db + motor
Пишу api на flask. Использую mongo db и асинк драйвер motor Есть ли смысл при обработке запросов открывать и закрывать соединения под каждый отдельный запрос? или же стоит держать одно соединение на все приложение? какие преимущества у каждого способа?
Отдельные коннекты
@SYSTEM.route('/ping')
def ping():
cluster = create_connection()
# работа с бд
close_connection(cluster)
return {
'result': 'ok'
}
Общий коннект
cluster = create_connection()
@SYSTEM.route('/ping')
def ping():
#работа с база данных
return {
'result': 'ok'
}
Ответы (1 шт):
Самым лучшим вариантом будет рассмотреть возможность использование пулов соединений. Такой вариант окажется самым производительным и эффективным.
Создание и закрытие соединений потребляет много времени и ресурсов. Но если у вас используется много одновременных запросов, то имеет смысл открывать и закрывать соединения под каждый запрос.