2010-02-24 49 views
3

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

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

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

感谢

回答

3

您应该检查websphere manual你如何配置一个连接池。

Here是一本介绍inculding代码样本

+0

感谢您的链接,我们有一个连接池,但我不知道如何在DB2方面衡量。 – user271858 2010-02-25 12:32:33

1

在我的经验,你看到的是很常见的。要问的问题是,DB2连接究竟是干什么的...

首先要做的就是尝试将性能问题隔离到网站的一部分 - 即应用程序的一部分当您发现可以增加跟踪日志记录以查看是否可以看到导致问题的查询时,性能很差。

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

祝你好运!

+0

我认为是时候和DBA交谈了。 – user271858 2010-02-25 12:33:07

2

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

使用GET MONITOR SWITCH来确保您的数据库的所有显示器开关都已启用,否则您将错过某些可能暴露的性能细节。追踪与这些监视器开关相关的数据的额外开销是最小的,而性能数据的值是显着的。

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

+0

谢谢,这些适用于iseries DB2吗? – user271858 2010-02-25 12:33:34

0
  • 连接池
  • 缓存
  • 的DBA