我们像这样配置了MyBatis连接池。
[bean id="myDataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource"]
[property name="driver" value="${driver}" /]
[property name="url" value="${url}" /]
[property name="username" value="${username}" /]
[property name="password" value="${password}" /]
[property name="poolMaximumActiveConnections" value="1000"/]
[property name="poolMaximumIdleConnections" value="200"/]
[property name="poolMaximumCheckoutTime" value="20000"/]
[property name="poolPingEnabled" value="true"/]
[property name="poolPingQuery" value="select 1 from dual"/]
[property name="poolPingConnectionsNotUsedFor" value="43200"/]
[property name="poolTimeToWait" value="30000"/]
[/bean]
当连接速率超过每秒50个连接时,服务器(WAS)无法足够快地处理请求。这会导致用户反复尝试重新加载页面,从而使问题变得更糟。
我们的网站每日访问量估计约为20,000;我们有1.2亿用户。
有没有人有类似的情况? 如果那时,你是如何解决这个问题的?
我们正在使用IBM WebSphere(WAS),Spring FrameWork,MyBatis和Oracle。我认为我们有足够的硬件。