tomcat 优化

栏目: Java · 发布时间: 5年前

内容简介:编辑catalina.sh配置文件参数说明:

Tomcat优化

禁用tomcat的AJP协议

vim server.xml

注释:

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

修改通讯模式BIO修改为NIO提高并发处理能力

#去掉注释

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

启用外部连接池

#去掉注释并修改maxThreads:

<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="300" minSpareThreads="4"/>
-->

#去掉注释并修改protocol:

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

#删除俩参数:

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"/> (这是删除后的)
# <Connector executor="tomcatThreadPool"下面添加:
port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="200"
acceptCount="1000"
disableUploadTimeout="true"
connectionTimeout="20000"
URIEncoding="UTF-8"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"
redirectPort="8443" />

JVM调优生产配置

编辑catalina.sh配置文件

[root@tomcat1 ~]# vim /usr/local/tomcat8/bin/catalina.sh

# OS specific support. $var _must_ be set to either true or false.下面添加

JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseParallelGCThreads=8 -XX:CMSInitiatingOccupancyFraction=80 -XX:
+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:-PrintGC -XX:-PrintGCDetails -XX:-PrintGCTimeStamps -Xloggc:../logs/gc.log"
  • -Xms 堆内存初始大小,单位m、g

  • -Xmx 堆内存最大允许大小,一般不要大于物理内存的80%

  • -XX:PermSize 非堆内存初始大小,一般应用设置初始化200m,最大1024m就够了

  • -XX:MaxPermSize 非堆内存最大允许大小

  • -XX:+UseParallelGCThreads=8 并行收集器线程数,同时有多少个线程进行垃圾回收,一般与CPU数量相等

  • -XX:+UseParallelOldGC 指定老年代为并行收集

  • -XX:+UseConcMarkSweepGC CMS收集器(并发收集器)

  • -XX:+UseCMSCompactAtFullCollection 开启内存空间压缩和整理,防止过多内存碎片

生产配置实例

#server.xml配置文件下:
[root@tomcat1 ~]# vim /usr/local/tomcat8/conf/server.xml

# <Connector executor="tomcatThreadPool"下面添加:
port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="200"
acceptCount="1000"
disableUploadTimeout="true"
connectionTimeout="20000"
URIEncoding="UTF-8"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"
redirectPort="8443" />

参数说明:

  • org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio

  • maxThreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。

  • minSpareThreads:最小空闲线程数。

  • maxSpareThreads:最大空闲线程数,如果超过这个值,会关闭无用的线程。

  • acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。

  • disableUploadTimeout:禁用上传超时时间

  • connectionTimeout:连接超时,单位毫秒,0代表不限制

  • URIEncoding:URI地址编码使用UTF-8

  • enableLookups:关闭dns解析,提高响应时间

  • compression:启用压缩功能

  • compressionMinSize:最小压缩大小,单位Byte

  • compressableMimeType:压缩的文件类型


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法设计与分析基础

算法设计与分析基础

Anany Levitin / 潘彦 / 清华大学出版社 / 2015-2-1 / 69.00元

作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这一迷人领域。《算法设计与分析基础(第3版)》作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包括一些......一起来看看 《算法设计与分析基础》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具