繁体   English   中英

DB2 jdbc 性能

[英]DB2 jdbc performance

对运行 websphere 7 和 DB2 的 Java 应用程序进行分析,我们可以看到我们将大部分时间花在了 com.ibm.ws.rsadapter.jdbc 包中处理与数据库的连接。

  1. 我们如何调整我们的 jdbc 性能?

  2. 当数据库性能成为瓶颈时,还有哪些其他策略?

谢谢

您应该查看您的websphere 手册以了解如何配置连接池。

2021 年更新

是一个介绍,包括代码示例

2021 年更新

连接时间缓慢的一个原因是停用的数据库,在第一个应用程序尝试连接到它之前,它不会打开其文件并分配其内存缓冲区和堆。 在运行测试之前,请让您的 DBA 确认数据库处于活动状态。 LIST ACTIVE DATABASES 命令(从本地 DB2 服务器或通过远程附件运行)应该在其输出中显示您的数据库。 如果数据库未激活,请让您的 DBA 使用 ACTIVATE DATABASE yourDBname 显式激活它。 这将确保即使最后一个用户与数据库断开连接时,数据库文件和内存结构仍然可用。

使用 GET MONITOR SWITCHES 确保为您的数据库启用所有监视器开关,否则您将错过一些可能揭示性能细节的信息。 跟踪与这些监视器切换相关联的数据的额外开销很小,而性能数据的价值却很重要。

如果数据库始终处于活动状态,而事情看起来仍然很慢,那么有称为事件监视器的详细 DB2 跟踪记录它们遇到的所有内容到文件、管道或 DB2 表。 我经常使用语句事件监视器来分析 SQL 语句效率和 UOW 卫生。 我也更喜欢使用额外的命中将事件监视器记录记录到表而不是文件中,因此我可以使用 SQL 搜索各种模式的数据。 db2evtbl 实用程序使得定义所需的事件监视器和创建表来存储其输出变得相当容易。 SET EVENT MONITOR STATE 命令用于启动和停止已创建的事件监视器。

根据我的经验,您所看到的情况很常见。 要问的问题是 DB2 连接到底在做什么......

要做的第一件事是尝试将性能问题隔离到网站的某个部分 - 即应用程序的某个部分是否表现不佳,当您发现可以增加跟踪日志记录以查看是否可以看到导致问题的查询。

此外,如果您与 DBA 交谈,他们可能会对数据库运行一些分析,以告诉您哪些查询需要时间来返回值,这也可能有助于您进行故障排除。

祝你好运!

  • 连接池
  • 缓存
  • 数据库管理员

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM