1、这个的错误的原因比较复杂,也可能很简单也可能需要查看好几个地方,解决起来不同的操作系统方式也不同。
2、首先检查是不是连接weblogic服务过大部分被拒绝,需要监控weblogic的连接等待情况,此时需要增加acceptBacklog,每次增加25%来提高看是否解决,同时还需要增加连接池和调整执行线程数,(连接池数*Statement Cache Size)的值应该小于等于oracle数据库连接数最大值。
3、2、如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了限制,AIX下可以直接vi文件limits修改其中的连接限制数、端口数,还有tcp连接等待时间间隔大小,wiodows类似,只不过windows修改注册表,具体修改注册表中有TcpTimedWaitDelay和MaxUserPort项,键值在[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]。
(资料图片仅供参考)
4、因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。
5、在全部占满后,就会出现上面的错误。
6、执行netstat –na命令,可以看到打开了很多端口。
7、所以就调整TCP的time out。
8、即在最后一个端口还没有用到时,前面已经有端口在释放了。
9、1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。
10、2,也可以把MaxUserPort调大(如果这个值不是最大值的话)。
本文为大家分享到这里,希望小伙伴们有帮助。
关键词: