我们有一个查询需要 3 小时才能完成。这在以前不是问题。之前,调用这个查询的代码部署在weblogic上,使用后者自己的连接池管理器。
现在由于进程占用大量内存,我们将这段代码拉出来,让它在自己的堆空间上运行。调用查询的请求是通过 jms 发出的。我还注意到我们使用的连接池管理器是使用默认设置的 dbcp(最大连接数 = 8,最小连接数 =0)。jms 客户端是多线程的。
当我们通过接口(TOAD)执行查询时,只需要 2 秒,所以从这里我已经排除了“指责”数据库的可能性。
我想知道我可以从这里采取哪些步骤来找到瓶颈。也许与连接池有关?