【问题标题】:Number of sockets opened increased while profiling分析时打开的套接字数量增加
【发布时间】:2018-02-11 02:30:19
【问题描述】:

我目前正在分析一个 Tomcat 8.5 应用程序,它使用 DBCP 作为 Neo4j JDBC 驱动程序连接的标准池。

我不明白为什么当我开始分析应用程序(使用 Yourkit 或 JProfiler)时打开(而不是关闭)的套接字数量如此之高,而这个数字在没有分析的情况下又低又稳定。 lsofls /proc/my_tomcat_pid/fd | wc -l 命令确认了相同的行为。

所以我想知道我的应用程序是否真的没有按应有的方式释放 Neo4j JDBC 连接,或者它是否是分析器引入的开销。

有什么线索吗?

【问题讨论】:

  • 一个连接池在它的池中保持连接,那些使用套接字......并且很多连接池在启动时预先填充池(不确定 DBCP 是否专门这样做)

标签: sockets jdbc neo4j profiling tomcat8


【解决方案1】:

如果您使用 YourKit 配置文件,您可以运行专用的“未关闭的套接字连接”检查 https://www.yourkit.com/docs/java/help/event_inspections.jsp Profiler 将向您显示创建和打开未关闭的套接字的位置。

【讨论】:

    【解决方案2】:

    实际上这是一个与 Neo4j JDBC 驱动程序和数据库探针相关的 Yourkit 错误,Yourkit 团队很快修复了该错误。该修复在 Build 75 中可用:https://www.yourkit.com/forum/viewtopic.php?f=3&t=39801

    【讨论】:

      猜你喜欢
      • 2015-12-01
      • 2013-12-30
      • 2011-12-18
      • 2013-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多