我有一个用Java / Java EE开发的Web应用程序连接到后端的仓库。 我们将IBM WAS作为应用程序服务器,并在其中定义了用于数据库连接的数据源。 连接池已设置为最大池大小为30。 有几次数据库查询最多需要1-2分钟,因此用户会在前端等待。
当40个不同的并发用户在1-2分钟内访问后端运行查询的屏幕时会发生什么情况。
答案 0 :(得分:0)
不幸的是,我无法回答WebSphere在这种情况下的工作方式,但您可以尝试使用DB的延迟函数模拟您的查询:
TSQL:
--wait for 1 minute
WAITFOR DELAY '00:01'
甲骨文:
DBMS_LOCK.sleep(seconds => TIME_);
等等。
然后您可以使用apache jmeter(http://jmeter.apache.org/)来模拟用户请求。有各种要求,听众等。
Websphere管理控制台具有监视和调整部分,您可以在其中为数据源和http请求池活动配置自己的监视器。
这样我们调试了应用程序的瓶颈。
答案 1 :(得分:0)
在您的情况下结果将是:30连接将处于处理状态,其他10将处于等待状态。如果其中一个处理连接重新进入数据源,那么等待连接之一就会开始工作。