0
点赞
收藏
分享

微信扫一扫

tomcat调优以及jvm参数调优

言诗把酒 2022-03-12 阅读 177

Tomcat调优

首先,打开tomcat/conf/server.xml文件,搜索Executor name=“tomcatThreadPool”,开启并调整为:

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="20" maxSpareThreads="50" maxIdleTime="60000"/>

然后,修改<Connector …>节点,增加 executor 属性,搜索port=“80”,调整为:

<Connector executor="tomcatThreadPool"
port="80"
protocol="HTTP/1.1"
URIEncoding="UTF-8"
connectionTimeout="30000"
enableLookups="false"
disableUploadTimeout="false"
connectionUploadTimeout="150000"
acceptCount="300"
keepAliveTimeout="120000"
maxKeepAliveRequests="1"
compression="on"
compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png" redirectPort="8443" />

参数说明:

  1. port : 端口
  2. connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
  3. enableLookups :如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址。
  4. keepAliveTimeout :长连接最大保持时间(毫秒)。此处为15秒。
  5. maxKeepAliveRequests : 最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。一般设置在100~200之间)
  6. maxHttpHeaderSize:http请求头信息的最大程度,超过此长度的部分不予处理。一般8K。
  7. URIEncoding : -指定Tomcat容器的URL编码格式。
  8. acceptCount: 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认为10个。
  9. disableUploadTimeout:上传时是否使用超时机制。
  10. enableLookups: 是否反查域名,取值为:true或false。为了提高处理能力,应设置为false。
  11. bufferSize: defines the size (in bytes) of the buffer to be provided for input streams created by this connector. By default, buffers of 2048 bytes are provided.
  12. maxSpareThreads:最多空闲连接数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
  13. maxThreads: 最多同时处理的连接数,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
  14. minSpareThreads:最小空闲线程数,Tomcat初始化时创建的线程数。
  15. minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10。(用于Tomcat4中)
  16. maxProcessors: 最大连接线程数,即:并发处理的最大请求数,默认值为75。(用于Tomcat4中)
  17. maxIdleTime: 线程最大空闲时间。

JVM调优

Windows打开tomcat/bin/catalina.bat,linux打开tomcat/bin/catalina.sh文件,如linux–首行加入如下参数:

CATALINA_OPTS="
-server
-Xms8192M
-Xmx8192M
-Xss512k
-XX:NewSize=2250M
-XX:MaxNewSize=2250M
-XX:PermSize=128M
-XX:MaxPermSize=256M
-XX:+AggressiveOpts
-XX:+UseBiasedLocking
-XX:+DisableExplicitGC
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:MaxTenuringThreshold=31
-XX:+CMSParallelRemarkEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:LargePageSizeInBytes=128m
-XX:+UseFastAccessorMethods
-XX:+UseCMSInitiatingOccupancyOnly
-Duser.timezone=Asia/Shanghai
-Djava.awt.headless=true"
举报

相关推荐

0 条评论