当前位置:编程学习 > 网站相关 >>

关于WAS连接池的问题

最近公司的WAS服务器经常出问题,表现为用户请求页面速度慢,甚至无法打开,直接报数据库连接失败,我对当时的系统日志进行了分析,怀疑当时的连接池满了,因此我在测试环境上做了测试,发现连接池满了以后重现了当时用户情况。因此查看了WAS的性能分析,发现有几个地方搞不太清楚:

请看下图中:这张图是目前WAS重启后运行1天的情况,我发现POOLSIZE是39,freePoolSize=0,Percentused=39%,说明现在无空闲连接池,连接池的平均使用效率是39%,目前WAS连接池设置 min/max是10/100,我的问题是:我自己在测试服务器测试时候,发现如果POOLSIZE到达了最大,而且freePoolSize=0,那么Percentused就会达到100%,这个时候再有线程请求过来,速度就会慢下来,并且waitingTreadCount就会开始累加1,直到前面的链接返回到池以后后面几个请求才会继续。虽然我测试出来时这个情况,但实际看IBM的官方文档写的感觉跟我有些出入。

另外一个问题是,我的freePoolSize总是很小,说明一直没有空闲连接,这样的话,第二天如果请求量一大,连接池一旦达到峰值,freePoolSize又没有了的话,是不是又会影响用户访问速度,如果并发量再一大,超过webContainer最大值,都随时可能有宕机的风险了。。我只有每隔一段时间去重启一下WAS才能避免这种情况,那岂不是很麻烦。。。。。

--------------------编程问答-------------------- 峰值多大? 数据库连接是自己写的吗? 我感觉像是存在连接泄露。 --------------------编程问答-------------------- 我也是这么认为,问题是怎么能查到链接泄露的源头 --------------------编程问答-------------------- Weblogic可以添加对连接泄露的检测,之前有做过类似的。具体你可以百度一下。
补充:企业软件 ,  WebSphere
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,