首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >npgsql泄露Postgres DB连接:监控连接的方法?

npgsql泄露Postgres DB连接:监控连接的方法?
EN

Stack Overflow用户
提问于 2010-05-06 01:43:38
回答 1查看 12.4K关注 0票数 11

背景:我正在将我的应用程序从npgsqlv2.0.9迁移到npgsqlv2.0.9。运行我的应用程序几分钟后,在从池中获取连接时,我得到了一个System.Exception: Timeout。

该网站声称,这是由于连接泄漏(打开数据库连接,但没有正确关闭它们)。

所以

我正在尝试诊断npgsql中的postgres连接泄漏。

诊断泄漏连接的一种方法是在npgsql上设置日志记录,并在日志中查找泄漏连接警告消息。问题是,我在任何地方的日志中都没有看到这条消息。

我还发现了监视npgsql连接的实用程序,但它不稳定并且崩溃。

因此,我只能手动检查代码。对于创建npgsql连接的每个位置,都有一个finally块来处理它。对于每个打开datareader的地方,都会使用CommandBehavior.CloseConnection (并且释放datareader )。

有没有其他地方可以检查,或者有人可以推荐一种方法来查找泄漏的池连接?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-06 02:18:14

更新:我正在用一种更好的方法来检查这些泄漏连接是在哪里分配的。请查看我关于这一点的帖子:http://fxjr.blogspot.com/2012/11/better-tracing-of-npgsql-connection.html,我希望它能有所帮助。

编辑:你可能想试试我们最新的测试版2.0.11.91。我们添加了更多的代码来改进连接池,这对你有帮助。

嗯,这很奇怪……您应该会收到一些消息。

但是,这些消息仅在ms.net运行时完成对象时出现。您是否可以同时使用超过默认最大连接数的连接?我的意思是,你的峰值使用率可能会超过20个最大连接数...

我希望它能帮上忙。

请让我知道你得到了什么。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2775489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档