tomcat优化

本文介绍了如何通过调整Tomcat线程池和使用NIO及APR技术来优化Tomcat服务器性能,提升并发能力。重点讨论了如何在服务器配置文件中切换IO模型和设置线程池参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

除了加内存之外的方法:

1,tomcat本身有线程池,每一个请求都开一个线程来处理请求。适当调节tomcat线程池可以提高tomcat服务器性能。提高并发能力

2,javaweb应用的性能瓶颈在于以下几个方面:(1)网络IO (2) 硬件IO (包含磁盘IO) (3) 内存资源  (4)CPU 性能 (5)数据读写能力 


3,tomcat默认采用BIO,也就是同步阻塞型的IO,效率很低。


如下:

1)bio 

默认的模式,性能非常低下,没有经过任何优化处理和支持. 

2)nio 

利用java的异步io护理技术,no blocking IO技术. 

想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为 

 <Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" 
	connectionTimeout="20000" 
	URIEncoding="UTF-8" 
	useBodyEncodingForURI="true" 
	enableLookups="false" 
	redirectPort="8443" /> 

启动后,就可以生效。 可以看到如下:

Sep 24, 2015 3:36:25 PM org.apache.coyote.AbstractProtocol init

信息: Initializing ProtocolHandler ["http-nio-8060"]


Sep 24, 2015 3:36:40 PM org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["http-nio-8060"]

启用NIO 这个时候要配置:


<Connectorport="8080"
        protocol="org.apache.coyote.http11.Http11NioProtocol"
        executor="tomcatThreadPool"
        compression="on"
        compressionMinSize="2048"
        maxThreads="30000"
        minSpareThreads="512"
        maxSpareThreads="2048"
        enableLookups="false"
        redirectPort="8443"
        acceptCount="35000"
        debug="0"
        connectionTimeout="40000"
        disableUploadTimeout="true"URIEncoding="UTF-8"useBodyEncodingForURI="true" />

连接器使用的线程池的名子:executor="tomcatThreadPool"

连接器端口                         :port="8080"

连接器使用的传输方式       :protocol="org.apache.coyote.http11.Http11NioProtocol"

传输时是否支持压缩           :compression="on"

压缩的大小                         :compressionMinSize="2048"


3)apr 

安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能. 

必须要安装apr和native,直接启动就支持apr。下面的修改纯属多余,仅供大家扩充知识,但仍然需要安装apr和native 

如nio修改模式,修改protocol为org.apache.coyote.http11.Http11AprProtocol

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值