实例介绍:
本实例介绍的是如何优化tomcat服务器,如果用户并发量小,系统可能不会出问题,但是并发量大,系统反应速度下降,
然后入坑找问题,从而浪费了shi'时间,因为小编就是过来人,下面来看看TomcTomcat是如何优化的。
设计过程:
1、屏蔽DNS查询
Web应用程序可以通过Web容器提供的getRemoteHost()方法获得访问Web应用客户的IP地址和名称,这样会消耗Webrong容器的资源,并且还需要通过IP地址和DNS服务器反查用户的名字,因此我们可以关掉这个属性,减少资源消耗,这样Web应用自能记下来IP地址,修改的属性:enableLoopups="false"
2、调整线程数
tomcat通过xian线程池为用户提供响应,对上线用户初步估计用户并发数量后,再调整线程池容量,
例如:用户并发量为100时,可以设置minProcessors="100",maxProcessors="100" ,将最大和最小设置为一样后,
线程池不再释放空闲的线程,用户访问zhen增急啊时时,不再需要消耗资源去创建新的线程
3、调整线程最大连接数
这个值就不好设置了,设置太大反而会消耗系统的资源去切换线程,但是也不能设置的太低,会造成应用无法满足用户的
并发需求,因此须要设置一个合适的数据,保证系统的稳定状态,一般设置为maxProcessors的1.5倍就好
4、调整网路超时
这个主要是HTTP协议有连接过程,客户连接到服务器后,长时间没有得到处理就会被释放,如果说服务器的处理速度慢
但又希望每个用户能得到有效处理,或网络不好,需要保证用户不会因为超时而中断,可以把时间加长,一般设置成
connectionTimeout="30000"即可,时间为毫秒
5、具体修改如下:
minProcessors: | 最小空先连接线程数,用于提高系统性能处理,默认值为:10 |
maxProcessors: | 最大连接线程数,用于并发处理的最大请求数,默认值为:75 |
acceptCount: | 允许的最大连接数,应大于等于maxProcessors,默认值为:100 |
enableLookups: | 是否反查域名,取值为true或false,为了提高处理能力,设置为false |
connectionTimeout: | 网路连接超时,单位为毫秒,设置0表示永不超时,不建议设置0,通常设置为20000毫秒 |