【发布时间】:2011-02-26 05:17:22
【问题描述】:
我正在研究 OCI 连接池,其主要优点是会话多路复用。据我了解,会话多路复用是在同一物理连接上进行多个会话。
在做了一些测试后,我意识到 OCI 驱动程序在同一物理连接上多路复用多个会话仅当该连接上的第一个会话处于空闲状态时。虽然在初始会话已经处于活动状态时不启动新会话似乎是合乎逻辑的,但我无法理解会话多路复用在 Web 应用程序中的实际使用。
应用程序请求连接但不使用它(即借用的连接保持空闲)不是很罕见吗?
如果有人能分享他们在使用 OCI 连接池的会话多路复用功能方面的经验,那就太好了。
【问题讨论】:
-
更准确地说,我将重新构建我的问题 1. OCI 在什么时候在同一物理连接上创建新会话 2. 同一物理连接上的两个会话是否不能同时执行。在执行时,OCI 在内部计算出这一点并产生新的物理连接。 3. 在同一物理连接上启动新会话与启动新物理连接相比,应用程序有什么好处?l 4. 在同一物理连接上创建多个会话是否有任何缺点或副作用。
-
通过执行一些测试,我验证了在创建新会话时仍然完成了凭据验证。测试包括从具有不同模式信息(即用户名/密码)的池中获取连接。即使使用不同的用户名/密码请求连接,也会在同一物理连接上创建新会话。已完成测试以验证是否创建新会话保存凭据身份验证时间(不是这种情况)
-
你可以编辑你的问题而不是评论它;)
标签: connection-pooling oracle-call-interface