问题标签 [connection-leaks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
28268 浏览

asp.net - 如何检测 ASP.net 应用程序中的 SqlServer 连接泄漏?

我目前正在对 ASP.net 2.0 应用程序进行一些 GUI 测试。RDBMS 是 SQL Server 2005。主机是 Win Server 2003 / IIS 6.0。

我没有应用程序的源代码,因为它是由没有发布代码的外部公司编写的。

我注意到当我重新启动 IIS 时应用程序运行良好,但经过一些测试,在我打开和关闭浏览器几个小时后,应用程序开始变得越来越慢。我想知道这种行为是否是由于程序员关闭连接的错误做法造成的:我怀疑这里的数据库存在开放连接泄漏。

我猜.Net 垃圾收集器最终会关闭它们,但是......这可能需要一段时间,不是吗?

我有 SQL Server Management Studio,我确实从活动监视器中注意到在数据库上打开了很多连接。

综上所述,这里有一些与主要问题相关的问题:

  1. 在 SQL Server 2005 中有什么方法可以知道连接是因为等待在连接池中使用而打开的,还是因为它们被应用程序使用而打开的?

  2. 有人知道好的在线/纸质资源,我可以在其中学习如何使用性能计数器或其他类型的工具来帮助追踪这类问题吗?

  3. 如果性能计数器是最好的解决方案,我应该注意哪些变量?

0 投票
1 回答
574 浏览

c# - 如何调试 ASP.NET 2.0 Web 服务应用程序中的泄漏连接?

我有一个应用程序,它是一堆 c# Web 服务,位于 Win2k3 上 IIS7 中的 ASP.NET 2.0 之上。在上一个版本之后,我们不断收到连接超时。使用 Perfmon 进行的快速调查证实我们的应用程序正在泄漏连接。

然而,在上一个版本中发生了太多代码更改,仅通过查看代码更改很难确定问题出在哪里。

有没有办法调试实际发生连接泄漏的位置?

0 投票
5 回答
22045 浏览

java - 如何检查 Java EE 应用程序中的数据库连接泄漏?

有没有办法检查 Java EE 应用程序中的连接泄漏?

该应用程序正在我的本地计算机上运行。它使用 MySQL 数据库,用户将他的详细信息输入到该数据库中。

在我看来,连接泄漏意味着没有正确关闭连接对象。我在我的应用程序中创建了太多的数据库连接。我想检查数据库连接中是否有任何连接泄漏。

0 投票
1 回答
739 浏览

sql-server - 我可以说这是连接泄漏吗?

网络服务器环境:Windows 2008 R2

数据库服务器环境:SQL Server 2008

背景:我想使用 sql profiler 来跟踪导致连接泄漏的连接。

我使用的 SQL Server Profiler 事件:

  1. 审核登录(列:EventSubClass、EventClass、EventSequence、SPID)
  2. 审核注销(列:EventSubClass、EventClass、EventSequence、SPID)
  3. PRC:Complete(列:TextData、EventSequence、SPID)

我发现了一条奇怪的记录,我猜是连接泄漏,但不太确定,记录是:

我可以说这个连接正在泄漏吗?

先感谢您。

0 投票
5 回答
9367 浏览

java - Java、ResultSet.close()、PreparedStatement.close()——有什么用?

在我的网络应用程序中,我广泛使用了数据库。

我有一个抽象 servlet,所有需要数据库连接的 servlet 都继承自该 servlet。该抽象 servlet 创建一个数据库连接,调用必须由继承的 servlet 覆盖的抽象方法来执行它们的逻辑,然后关闭连接。我不使用连接池,因为我的应用程序的用户和操作数量非常有限。

我的问题是,如果我不关闭我的继承 servlet 创建的ResultSets、PreparedStatements 和Statements,如果Connection创建它们的 s 始终关闭,那么最糟糕的情况是什么?

0 投票
2 回答
9268 浏览

sql-server - 如何跟踪数据库连接泄漏

我们有一个似乎有连接泄漏的应用程序(SQL Server 说已达到最大池大小)。我一个人在我的开发机器上(显然),只是通过导航应用程序,我触发了这个错误。SQL Server 活动监视器显示大量使用我的数据库的进程。

我想找出哪些文件打开了连接但不使用它。我正在考虑使用 grep 之类的东西,为每个文件计算“.Open()”的数量和“.Close()”的数量,并获取数字不相等的文件。现实吗?

额外的问题:SQL Server 活动监视器中找到的进程是否对应于连接?如果没有,我如何找出我的数据库上打开了多少个连接?

该应用程序在 asp.net (vb) 3.5 中,带有 SQL Server 2005。我们目前不使用 LINQ(还)或类似的东西。

谢谢

0 投票
1 回答
963 浏览

transactions - jms异常导致Glassfish数据库连接泄漏

我正在使用 Glassfish v2.1.1、MySQL 5.1 和 ActiveMQ 5.4.2,包括。它的资源适配器。如果 ActiveMQ 资源适配器在参与包括数据库和 jms 事务的 XATransaction 时抛出异常,则 glassfish 将包含处于回滚状态的事务,该事务不会释放其与数据库连接池的数据库连接。这些事务会堆积起来并最终使数据库连接池饱和。

这里发生了什么,如何防止这些事务在挂在数据库连接上的回滚状态中停止?

最好的问候

0 投票
2 回答
375 浏览

c# - 比较visual-studio 2010上的两个函数调用图

在我的情况下,我想找出包含这个函数调用的所有函数

但不包括以下调用

在那个函数中。

我要做的是找出任何未关闭的数据库连接。

欢迎使用工具、插件、正则表达式等。

0 投票
2 回答
1127 浏览

java - 这会导致 JDBC 连接泄漏吗?

我收到了这个 SQL 异常:

当然,问题来自ErrorDescription='State must be 'pre-installed', 'active', 'inactive' or 'deactive''在单引号内有单引号字符串。

但是给出下面的代码,遇到上面的异常会不会导致连接泄漏呢?

执行 SQL 的代码:

上面的方法在这里被调用:

调用getErrorCode()方法中DB连接关闭,由于getErrorCode()中发生异常,getServerExpiredResponse()中连接是否仍然关闭?

您可以看到在 getErrorCode() 内部只有Resultset 和 PreparedStatement 是关闭的。

0 投票
3 回答
76444 浏览

windows - java.net.SocketException:没有可用的缓冲区空间(达到最大连接数?):JVM_Bind

Tomcat 在 Windows 下运行一个 webapp。几天后(在非常低的负载下),标题中提到的异常开始出现在日志中,从那时起无法建立新的连接,唯一的解决方法是重新启动服务器。

环境:

  • 最新的 Tomcat 6
  • 视窗服务器 2008 R2
  • JDK 6 更新 30
  • SQL Server 2008
  • Kerberos 身份验证

目前收集的证据:

  • netstat 显示没有过多的连接
  • ProcessExplorer 显示没有过多的打开文件句柄
  • 系统主内存使用率平均
  • JVM 堆使用率平均
  • 重启Tomcat并没有解决问题

开放式问题:

  • 如果我们泄漏了连接,它们不应该出现在 netstat 中吗?
  • 重新启动应用服务器不应该解决问题吗,因为操作系统应该释放所有进程资源?
  • 有没有办法追踪问题的根源?例如安装监控软件,可能类似于 lsof 等?

我没有想法,任何提示表示赞赏!