【发布时间】:2010-11-05 14:15:57
【问题描述】:
让我先解释一下设置。
我们有一个运行在 2GB RAM 机器上的 oracle 服务器。 Db 实例的 init 参数“sessions”设置为 160。
我们在 Websphere 6.1 上部署了应用程序。连接池设置为 Min 50 和 Max 150。
当我们对 40 个用户(并发,使用 jMeter)运行负载测试时,一切正常。 但是当我们将并发用户增加到超过 60 时,Oracle 会抛出它超出会话的异常。
我们检查了应用程序是否存在任何连接泄漏,但找不到任何连接泄漏。
那么这是否意味着 40 的并发是这个设置可以接受的?增加 Oracle 会话/进程是获得更高并发性的唯一方法吗?
连接池中的数据库会话和连接究竟是如何相关的?据我了解,连接不能超过会话,因此将最大连接池设置为超过会话可能并不重要。对吗?
【问题讨论】:
-
你可能要考虑把它放在 serverfault 上。
-
不幸的是,这完全是编程相关的。
-
@Terry - 是的,但 Oracle DBA 可能比普通程序员更了解这一点。
-
我嫁给了一位 Oracle DBA。我是一名 Java 开发人员。我们仍然没有找到答案,这是我多次问过她的问题。
-
您能发布确切的 ORA 错误代码吗? Oracle 可以在一个物理连接上多路复用多个会话。如果连接池只是试图在现有物理连接上打开新会话,那么您可能会达到连接上的最大会话数,而不是数据库可以支持的最大会话数。连接池是自定义的,还是通过 Websphere 提供的?
标签: oracle oracle10g connection websphere