<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN213142145SSDF">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
      type="org.apache.catalina.UserDatabase"
      description="User database that can be updated and saved"
      factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
      pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <Service name="Catalina">
    <Executor name="tomcatThreadPool"
      namePrefix="catalina-exec-"
      maxThreads="500"
      minSpareThreads="50"
      maxQueueSize="100"
      rejectionPolicy="abort"
      prestartminSpareThreads="true"/>
    <Connector 
      maxThreads="500"
      minSpareThreads="50"
      executor="tomcatThreadPool"
      acceptCount="100"
      port="8080"
      protocol="HTTP/1.1"
      connectionTimeout="30000"
      maxConnections="10000"
      redirectPort="8443"
      enableLookups="false"
      maxPostSize="10485760"
      maxHttpHeaderSize="8192"
      disableUploadTimeout="true"
      acceptorThreadCount="2"
      URIEncoding="utf-8"
      processorCache="20000"
      tcpNoDelay="true"
      connectionLinger="5"
      server="Server Version 11.0"/>
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase=""
            unpackWARs="true" autoDeploy="false">
        <Context path="" docBase="webapps/cloudapi" reloadable="false" />
      </Host>
    </Engine>
  </Service>
</Server>

关于 Connector 官网链接
当前以下所有的说明是针对 tomcat 8.5版本来说的,其他版本详情见官方文档。

参数 含义 示例
port 绑定的端口,如果设置为0,tomcat则随机获取一个空闲端口 默认 port="8080"
protocol 传输协议和版本 默认 protocol = "HTTP/1.1"
connectionTimeout 连接超时时间,单位毫秒 默认 connectionTimeout="20000"
redirectPort 接收到的ssl请求后重定向的端口 默认 redirectPort="8443"
maxThreads tomcat能创建来处理请求的最大线程数,也为最大并发数 超过则放入请求队列中进行排队,默认值为200;需要根据业务和系统性能进行调整 maxThreads="1000"
URIEncoding url的字符编码,在tomcat8.5版本中,该值默认为UTF-8,除非在org.apache.catalina.STRICT_SERVLET_COMPLIANCE 将system property 设置为true才会使用ISO-8859-1 URIEncoding="UTF-8"
minProcessors 启动时创建的线程数(最小线程数) minProcessors="50"
acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到队列中的请求数,就是被排队的请求数,超过这个数的请求将拒绝连接 默认值为100 acceptcount="500"
acceptorThreadCount 可以用于接受连接的进程数,默认为1,但是在一些多核的的服务器上,我们会将它的值设置为2或者更大的数,来应对一些不活跃的连接。  
minSpareThreads 最小空闲线程数,任何情况都会存活的线程数,即便超过了最大空闲时间,也不会被回收,默认值10; minSpareThreads="25"
maxSpareThreads 最大空闲线程数,在最大空闲时间(maxIdleTime)内活跃过,此时空闲,当空闲时间大于maxIdleTime则被回收,小则继续存活,等待被调度,默认值50;  
enableLookups 调用request、getRemoteHost()执行DNS查询,以返回远程主机的主机名,如果设置为false,则直接返回IP地址 默认是禁用的,在请求过滤中的根据远程主机名过滤,需要将该参数设置为true enableLookups="false"
maxIdleTime 最大空闲时间,超过这个空闲时间,且线程数大于minSpareThreads的,都会被回收,默认值1分钟(60000ms) maxPostSize
address 对于一些具有多个ip的服务器,我们可以通过该参数指定绑定的ip,默认情况下监听所有的地址 address="192.168.1.110"
compressibleMimeType 该值用来指定哪些文件类型的文件可以进行压缩,默认值为:text/html,text/xml,text/plain,text/css,text/javascript,application/javascript  
compression 开启gzip 压缩,可以接受的值是 "off"(禁用压缩),"on"(开启压缩),"force(强制压缩)","1-9"(等效于开启压缩,并且设定压缩等级),开启了压缩,也就意味着要占用更多的cpu资源 compression
compressionMinSize 在compression 参数指定为on后,该参数用来指定压缩的阈值,只有大于该阈值才会被压缩,默认为 2048  
keepAliveTimeout 指connector两个HTTP请求直接的等待时间,超过该时间没有接收到第二个HTTP请求就关闭连接,默认是使用connectionTimeout 的值,单位为毫秒  
maxConnections 在一定时间内可以接受和处理的最大连接数,达到限制后,服务器接受但不处理该链接,但可以存放到acceptCount,该默认值因连接器类型而异。对于NIO和NIO2,默认值为10000。对于APR / native,默认为8192。  
maxCookieCount 请求允许的最大cookie 数,值小于0表示无限制,默认值为 200  
disableUploadTimeout 默认是true ,禁用数据上传超时  
connectionUploadTimeout 设定数据上传的超时时间,只有在disableUploadTimeout设置为false才生效,单位毫秒 connectionUploadTimeout="50000"
processorCache 进程缓冲器,默认值是maxThreads的值,使用好该值可以提升并发请求。  
示例配置