Тайм-аут соединения и время жизни соединения

Каковы преимущество и недостаток соединения timeout=0?

И каково использование Соединения Lifetime=0?

например,

(Database=TestDB;
 port=3306;
 Uid=usernameID;
 Pwd=myPassword;
 Server=192.168.10.1;
 Pooling=false;
 Connection Lifetime=0;
 Connection Timeout=0)

и каково использование Организации пула подключений?

17
задан M. A. Kishawy 9 July 2015 в 15:48
поделиться

1 ответ

Таймаут - это сколько времени вы ждете для ответа на запрос, прежде чем вы откажетесь. TimeOut = 0 означает, что вы будете постоянно ждать установления соединения. Хорошо, я думаю, если вы подключаетесь к очень медленному серверу, это нормально, если на ответ требуется 12 часов :-). Вообще плохо. Вы хотите установить какой-то разумный тайм-аут для запроса, чтобы вы могли понять, что ваша цель упала, и продолжить свою жизнь.

Время жизни соединения = сколько времени существует соединение, прежде чем оно будет уничтожено и воссоздано. 0 означает никогда не убивать и не воссоздавать. Обычно это неплохо, потому что удаление и восстановление соединения происходит медленно. Из-за различных ошибок ваши соединения могут застрять в нестабильном состоянии (например, при работе со странными трехсторонними транзакциями) ... но в 99% случаев хорошо, чтобы время жизни соединения оставалось бесконечным.

Пул соединений - это способ справиться с тем фактом, что создание соединения происходит очень медленно. Поэтому вместо того, чтобы создавать новое соединение для каждого запроса, вместо этого создайте пул, скажем, из 10 предварительно созданных соединений. Когда он вам нужен, вы берете его, используете и возвращаете. Вы можете настроить размер пула, чтобы изменить поведение вашего приложения. Большой пул = больше соединений = больше потоков, выполняющих что-то одновременно, но это также может перегружать все, что вы делаете.

В итоге:
ConnectionTimeout = 0 - это плохо, сделайте что-нибудь разумное, например, 30 секунд.
ConnectionLifetime = 0 в порядке
ConnectionPooling = disabled неверный, вы, вероятно, захотите его использовать.

31
ответ дан 30 November 2019 в 11:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: