【问题标题】:IIS SQL Server: Connection Pool: Why are new connections made instead of reusing existing connections?IIS SQL Server:连接池:为什么要建立新连接而不是重用现有连接?
【发布时间】:2013-09-06 23:55:58
【问题描述】:

在应用加载期间,单个用户将向池中添加 10 个连接。然后,如果我加载另一个用户,我将总共有 20 个连接。

为什么将新连接添加到池中而不是重复使用连接?我可以看到有几分钟内没有使用的可用连接,但它仍然会打开新连接。

  • 相同的连接字符串
  • 我运行了 SQL Sever Profiler,可以看到每次调用后都会调用 sp_reset_connection。

任何帮助将不胜感激。

【问题讨论】:

  • 这个link 可能对你有帮助。

标签: sql-server sql-server-2008 iis connection-pooling


【解决方案1】:

如果连接来自不同的机器,则无法合并连接。连接要求两个端点都是连接。如果您正确使用连接池,应用程序(从池中)实例化一个连接,使用该连接,然后在交换完成后立即删除它。

如果您要编写单线程桌面应用程序,另一种常见且简单的策略是打开一个连接,并在应用程序运行时保持该连接打开。

您可以控制创建的连接数量等。有关连接池的更多详细信息,请参阅MS article

IIRC,连接池不共享,除非连接字符串相同。

【讨论】:

    猜你喜欢
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 2017-10-20
    • 2015-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多