Я установил настройку DATABASE, как показано ниже, и запустил приложение Django.Параметр Django CONN_MAX_AGE не открывает постоянное соединение
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'orcl',
'USER': 'smkim',
'PASSWORD': '1123',
'HOST': '168.192.15.18',
'PORT': '1521',
'CONN_MAX_AGE': 10,
'OPTIONS': {'threaded': True}
}
}
Чтобы убедиться, что если Django откроет 10 постоянных подключений, отправлю SQL, как показано ниже.
SELECT username FROM v$session WHERE username='SMKIM';
Тем не менее, эта команда просто возвращает 2 записей (Это потому, что икру процесс, в результате два процесса имеет одно соединение, соответственно).
Почему Django открывает только 2 соединения, даже я установил 10 постоянных соединений? (. П.с. приложение использует пул потоков (5))
Спасибо за ваш ответ, я неправильно понял параметр. Так есть ли способ иметь «множественное соединение» для многопоточного потока, чтобы они пытались запросить параллельно? – SangminKim
@asleea, насколько я помню, нет простого способа указать, сколько постоянных соединений вы хотите иметь в Django. IMO, просто установите 'CONN_MAX_AGE' на достаточно большом количестве, и Django выполнит эту работу самостоятельно. Он откроет соединение по первому запросу и сохранит его, пока он не будет закрыт при тайм-ауте на стороне Django или DB. Для дальнейшего запроса он будет использовать это соединение или может открыть новый, если потребуется, а затем использовать несколько соединений, но чтобы понять, когда и как это произойдет, необходимо посмотреть в внутренних компонентах Django. – Nikita