100个用户的连接池 - 值得吗?

时间:2012-07-04 07:00:03

标签: java connection-pooling c3p0 apache-commons-dbcp

我正在开始研究一个位于Oracle 10g上的小型Java Web应用程序。预期的用户群最多可达100个用户。我不希望使用该应用程序一次看到超过50个用户。

现在,我正在考虑DBCP,C3P0或Tomcat JDBC连接池,但是这会为这么小的用户群增加真正的价值吗?我从来没有使用任何解决方案,所以存在引入复杂性的风险(我已经看到其他线程,人们面临着连接池的一些疯狂问题)而且我不确定这些好处会超过风险。 或者还有其他方法吗?也许Oracle拥有自己的解决方案?

请帮忙。

谢谢。

1 个答案:

答案 0 :(得分:5)

在每个请求上创建数据库连接都很昂贵,这会导致您的应用和数据库服务器花费大量时间创建和拆除连接,而不是为用户提供有用的数据。

即使用户群相对较小,最好还是准备好一个连接池,以便在请求到达时为其提供服务。

我的经验与您可能看到的其他线程形成鲜明对比,连接池是一项经过充分验证的技术,我在任何平台上都没有遇到过问题。

Oracle确实有自己的连接池,称为Oracle Universal Connection Pooling(“UCP”)。您可以使用提供此功能的数据源,也可以使用vanilla数据源并将问题中列出的技术层叠在最上面。