Tomcat调优

时间:2024-03-27 21:40:27

1、调整线程数

<Connector port="8080" maxHttpHeaderSize="8192"
       maxThreads="1900" minSpareThreads="250" maxSpareThreads="750"
       enableLookups="false" redirectPort="8443" acceptCount="100"
       connectionTimeout="20000" disableUploadTimeout="true"
       URIEncoding="utf-8" useBodyEncodingForURI="true"
        compression="off"
      compressionMinSize="2048"
 noCompressionUserAgents="gozilla, traviata"
 compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json"/>

建议使用压测工具,如jmeter边压边查看cpu、内存情况,调整线程数,一般调优主要个改如下参数:

maxThreads="1900" minSpareThreads="250" maxSpareThreads="750" acceptCount="100"

属性 描述

maxThreads

Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。

acceptCount

指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。

connnectionTimeout

网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

minSpareThreads

Tomcat初始化时创建的线程数。

maxSpareThreads

一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。

enableLookups 是否反查域名,默认值为true。为了提高处理能力,应设置为false
maxKeepAliveRequests 保持请求数量,默认值100。
bufferSize 输入流缓冲大小,默认值2048 bytes
compression 压缩传输,取值on/off/force,默认值off

2、调整运行内存

  • 服务形式安装(略)
  • win+r,regedit打开注册表,HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\apache-tomcat-9-1\Parameters\Java
  • JvmMs切换10进制,输入1024表示最小初始化内存为1G
  • JvmMx切换10进制,输入2048表示最大内存为2G