大型系统,tomcat5.5下的连接池maxIdle,maxWait,maxActive这三个参数设置为多少合适?

全息宇宙 2009-06-25 03:23:44
大型系统,页面日访问量5万以上,页面都是连数据库的,tomcat5.5下的连接池maxIdle,maxWait,maxActive这三个参数设置为多少合适?

现在取值是maxIdle="30",maxWait="9000",axActive="9000"(这个地方我看很多人取100,取100很快就over)。
总是出问题:
每隔几个小时就会出现,1.tomcat占用内存变的很大系统不能访问,2.tomcat提示没有可用的数据库连接导致系统不能访问。必须重启tomcat才行。
我考虑不可能是服务器的问题,服务器09年买的8cpu、100兆独享带宽
...全文
15764 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingtianchao1988 2010-07-22
  • 打赏
  • 举报
回复
好!受益匪浅啊!能否在配置文件里关闭没有关闭的session?????????????
pker02 2010-04-28
  • 打赏
  • 举报
回复
学习观摩中
eqing215 2010-01-10
  • 打赏
  • 举报
回复
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"
可能代码问题 查看是否有未关连接
maxActive 连接池支持的最大连接数
maxIdle 连接池中最多可空闲maxIdle个连接
minIdle 连接池中最少空闲maxIdle个连接
initialSize 初始化连接数目
maxWait 连接池中连接用完时,新的请求等待时间,毫秒
timeBetweenEvictionRunsMillis timeBetweenEvictionRunsMillis和minEvictableIdleTimeMillis一起使用,每

timeBetweenEvictionRunsMillis毫秒秒检查一次连接池中空闲的连接,把空闲时间超过minEvictableIdleTimeMillis毫秒的连接断开,直到连接池中的连接数到minIdle为止

minEvictableIdleTimeMillis 连接池中连接可空闲的时间,毫秒

removeAbandoned true,false,是否清理removeAbandonedTimeout秒没有使用的活动连接,清理后并没有放回连接池
removeAbandonedTimeout 活动连接的最大空闲时间
logAbandoned true,false,连接池收回空闲的活动连接时是否打印消息

minEvictableIdleTimeMillis,removeAbandonedTimeout这两个参数针对的连接对象不一样,minEvictableIdleTimeMillis针对连接池中的连接对象,removeAbandonedTimeout针对未被close的活动连接.
  • 打赏
  • 举报
回复
负载均衡 RSYNC


如果钱够多直接上F5
twinkleliang 2009-07-07
  • 打赏
  • 举报
回复
学习,支持使用集群的方式部署
keyboardsun 2009-07-01
  • 打赏
  • 举报
回复
感觉连接是小事情,你的是系统的问题。9000多的激活连接,我感觉连接池有问题,或者你的应用的连接用完就没有及时归还。
jabeginner 2009-06-29
  • 打赏
  • 举报
回复
我的小型的都可以配置到上百,你的大型应用的话,应该可以配到至少几百的吧。
海诗美妆 2009-06-29
  • 打赏
  • 举报
回复
1.访问量大的网站,首先要考虑Tomcat集群。
2.具体的设定值,需要模拟实际访问,通过性能测试得出最合适的结果。当然,这种结果在论坛上没人可以回答你。
3.可以使用一下工具进行测试:JMeter、Jconsole、JVMStat
bolink5 2009-06-26
  • 打赏
  • 举报
回复
顶LS的
要是真的很大的话,就换个weblogic呗 或者负载均衡吧
billhepeng 2009-06-26
  • 打赏
  • 举报
回复
maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连
接将被标记为不可用,然后被释放。设为0表示无限制。
MaxActive,连接池的最大数据库连接数。设为0表示无限制。
maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示
无限制。

*maxActive:最大连接数据库连接数,设 0 为没有限制
*maxIdle:最大等待连接中的数量,设 0 为没有限制
*maxWait:最大等待毫秒数, 单位为 ms, 超过时间会出错误信息

一般把maxActive设置成可能的并发量就行了

maxActive、maxIdle和maxWait参数:


maxActive是最大激活连接数,这里取值为20,表示同时最多有20个数据库连 
 接。maxIdle是最大的空闲连接数,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的

连接,而不被清除,随时处于待命状态。MaxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到

超时为止,也可取值9000,表示9秒后超时。
huhaibo777 2009-06-26
  • 打赏
  • 举报
回复
访问量很大的系统可以考虑使用负载均衡。如果并发量不大、计算量不大的应用,系统运行过慢可能是应实现的问题。

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧