Weblogic性能优化-并发量

来源:百度文库 编辑:神马文学网 时间:2024/04/29 12:10:30
并发量的优化主要是两个队列和处理Thread数:
1、OS控制的TCP队列:存放操作系统已经接受,而Weblogic还没有接受的Socket;
2、Weblogic默认的Request队列:存放Weblogic已经接受,但是WebContainer还没有处理的Request;
3、Thread数量:Weblogic处理线程,和CPU数量及业务逻辑相关。
如果用户并发量很大,由于WebContainer的处理能力有限,会产生以下结果:
1、OS的Tcp队列满,用户的请求被拒绝,这时还没有到达Weblogic,所以Weblogic日志中没有任何记录;
2、OS的Tcp队列未满,这时用户的请求将会进入Tcp队列:
1)Weblogic处理忙,来不及接受Socket,导致连接超时,这时Weblogic日志中同样没有任何记录;
2)Socket连接被Weblogic接受进入Request队列;
3、Request队列由Thread处理,OS调度Thread,处理Request请求:
1)Request请求仍然在队列中,达到超时时间,连接中断,Weblogic日志中会记录错误信息;
2)Thread接受Request,进入OS的Thread调度队列;
4、Thread队列;
1)OS繁忙,队列中的部分Thread会超时中断,这时Weblogic日志中会记录错误信息;
2)Thread数量少,OS空闲多。
所以,优化并发量,需要遵循下列步骤:
1、调整Thread数量,使其与CPU数量相当:
1)如果Thread数量《CPU数量,就需要增加Thread数量;
2)如果Thread数量》CPU数量,并且延迟很多,就需要减少Thread数量;
2、调整OS Tcp等待队列:
1)如果客户方出现连接中断,但是Weblogic日志中没有任何信息,就增加队列长度;
2)增加幅度:每次增加25%;
3、调整程序,减少Thread处理及等待时间:
1)分割长事务,划分为多个短事务;
2)优化数据库;
3)减少远程调用;