【问题标题】:SQL server connection pooling in java exceeds 600, cause database to crash?java中的SQL server连接池超过600,导致数据库崩溃?
【发布时间】:2012-04-13 05:57:03
【问题描述】:

我有一个需要连接池的应用程序,因为服务器有多个客户端同时与其通信,可能大约 10k。当我限制 maxActive =200 时,数据库的更新速度会变慢。

我在 Java 中做过的应用程序编程。 我在 Tomcat Context.xml 的帮助下进行连接池。 数据库我使用的是 SQL Server 2005。

请帮助我采用正确的池化方式,以免我的应用程序变慢。

【问题讨论】:

    标签: java sql-server-2005 connection-pooling


    【解决方案1】:

    没有正确池化方式的概念,您必须通过检查您能够获得最大吞吐量的活动连接数来找出答案。

    1) Check any inactive connections which are not closed.
    2) Do some analysis to find out the root causes or when it's eating up lot of connections.
    

    对于任何项目,我见过的最常见的参数是 200 到 300 个活动连接的理想情况下,如果超过此值,则更有可能是企业应用程序,您必须依赖基础架构而不是编程方式。

    在达到某个阈值后,您应该查看数据库集群,因为一旦您确定程序中没有地方可以优化,您就可以在一定程度上对其进行调整。

    【讨论】:

    • 根据代码,我正在从池中获取连接,并且在每次执行语句后,我都会关闭与 conn.close(); 的连接,并且在 终于阻止
    • 这么多休眠连接可能是什么原因。我无法弄清楚。
    • 只有看过代码库才能知道。如果可以共享您的屏幕,那么我可以帮助您。通过电子邮件向我发送信息以连接到 hotmail.com 上的 phani(dot)rocks
    猜你喜欢
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 2020-02-18
    相关资源
    最近更新 更多