timeout - 连接超时和连接生命周期

标签 timeout connection connection-pooling lifetime

连接超时=0的优缺点是什么?

Connection Lifetime=0 有什么用?

例如

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

连接池有什么用?

最佳答案

我知道这是一个旧线程,但我认为指出一个您可能想要禁用连接池或使用连接生命周期的实例很重要。

在某些环境中(尤其是在使用 Oracle 时,或者至少根据我的经验),Web 应用程序的设计使其使用用户的凭据而不是位于服务器配置文件中的固定连接字符串连接到数据库。在这种情况下,启用连接池将导致服务器为每个访问网站的用户创建一个连接池(参见 Pool Fragmentation)。根据情况,这可能是好是坏。

但是,连接池成为问题当数据库服务器配置为终止超过最大空闲时间的数据库连接时,因为数据库服务器可以终止可能仍驻留在连接池中的连接。在这种情况下,连接生命周期 丢弃这些连接可能会派上用场,因为它们无论如何都已被服务器关闭。

关于timeout - 连接超时和连接生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2748706/

相关文章:

c# - SqlConnection 池似乎不起作用

android - 在 android 中建立与 MySQL 的池连接

oauth - 谷歌 OAuth 用于异常端口上的服务

c++ - 如何创建简单的 tcp_connect 和 tcp_write 函数?

java - 重新发明轮子 : connection pool

java - Jedis 连接被拒绝

node.js - 在 AWS Node socketcluster 上无法连接超过 1000 个连接

ios - NSURLConnection 超时后卡住

javascript - 这个函数的递归有什么问题? (setTimeout问题)

php - 即使我关闭数据库连接,在 PHP 中获取 "MySQL Server has gone away"