Tomcat优化配置

1、禁用AJP服务

禁用AJP服务后,吞吐量会有一定的提升。

 	<!-- Define an AJP 1.3 Connector on port 8009 -->
    <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->

2、设置线程池

通过设置线程池,调整线程池相关的参数进行测试tomcat的性能。

2.1、设置最大线程数和初始值

不一定设置多大性能最高,得根据自己服务器测试得出。

<Executor name="tomcatThreadPool" namePrefix="catalina‐exec‐" maxThreads="1000" minSpareThreads="200"
prestartminSpareThreads="true"/>
2.2、设置最大等待队列数

默认情况下,请求发送到tomcat,如果tomcat正忙,那么该请求会一直等待。这样虽然
可以保证每个请求都能请求到,但是请求时间就会边长。我们也不一定要求请求一定等待,可以设置最大等待队列大小,如果超过就不等待了。这样虽然有些请求是失败的,但是请求时间会虽短。
得根据自己服务器测试得出结论。

<!‐‐最大等待数为100‐‐>
<Executor name="tomcatThreadPool" namePrefix="catalina‐exec‐"
maxThreads="500" minSpareThreads="100"
prestartminSpareThreads="true" maxQueueSize="100"/>

<Connector executor="tomcatThreadPool" port="8080"
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
connectionTimeout="20000"
redirectPort="8443" />

此项设置吞吐量和响应时间可以提升,但是错误率会有所攀升。

3、设置运行模式

推荐修改:

// JDK7
 <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000"  redirectPort="8443" URIEncoding="GBK"/>
 
// JDK8
 <Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol" connectionTimeout="20000"  redirectPort="8443" URIEncoding="GBK"/>

平均响应时间有缩短,吞吐量有提升。

JDK8可用的NIO2性能明显强于JDK之前的NIO。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值