线程池

namePrefix
创建的每个线程的名称前缀,建议修改成有意义的字符串,方便后期分析线程栈。

maxThreads
线程池中活动线程的最大数目。决定服务的承载力。
对于NIO,表示最大可以同时处理的请求数。一般范围在200-800,建议从400开始进行负载测试,
若CPU负载高,则降低线程数,因为很可能应用为CPU密集型。反之则提高线程数,考虑数据库
等资源瓶颈。

minSpareThread
备用线程的最小数量。

maxIdleThread
活动线程数大于最小备用线程数时,空闲线程关闭之前的等待时间,单位为毫秒

prestartminSpareThreads
是否在启动连接池启动时预启动备用线程,建议true,默认为false.

maxOueueSize:
在请求拒绝之前,排队等待执行的任务最大数目。
设置过短,请求有可能被错误拒绝; 设置太长,当负载过重时,会积压过多请求,出现假死现象。

连接器-性能相关

enableLookups
设置为true,在调用request.getRemoteHost() 方法时将执行DNS查询以返回远程客户端
的实际主机名称。设置为false,将跳过该査询直接返回IP地址以提髙性能。默认false.

maxKeepAliveRequest
链接在被服务器关闭之前,可以管线传输的HTTP请求最大数目。默认值100。在前端有
反向代理的情况下,建议调大,减少连接的创建消耗。一般范围在200-500.

keepAliveTimeout
在关闭连接之前,Connector等待下一个请求的时间,单位为毫秒。默认值与
connectionTimeout—致。对于HTTP链接器,-1表示不超时。

connectionTimeout
Connector接收到链接后的等待超时时间和请求内部的超时时间,单位为毫秒。-1表示不超时。
对于HTTP链接器,默认为60000,但是Tomcat的server.xml文件中配置的值为20000。
除非disableUploadT imeout设置为false,此属性也用于控制读取请求体。

socket.appReadBufSize   
链接中读缓冲的大小,单位为字节。并发较低的情况下,可以增大该值以缓冲更多数据。对于
大量的keep-alive链接,降低该值或者增加堆内存。

socket.appWriteBufSize  
链接中写缓冲的大小,单位为字节。并发较低的情况下,可以增大该值以缓冲更多数据。对于
大量的keep-alive链接,降低该值或者增加堆内存。通常默认值过低,如果不处理数以万计的
并发链接,应适当调大。

connectionUploadTimeout
数据上传的超时时间,单位为毫秒。只有当disableUploadTimeout设置为false时生效。

disableUploadTimeout
该属性允许Servlet容器使用长链接进行数据上传。如不指定,该属性设置为true,即禁用。
有大数据上传功能的情况下,建议开启。

acceptCount
当所有请求处理线程已被占用时,等待请求队列的最大长度。当队列填满时,接收到的
任何请求均会被拒绝。默认值100,建议调整到500左右。
高峰时有连接被拒绝时,考虑增加该参数值。若连接出现无响应, 则减少该参数值.

acceptorThreadCount:    用以接收链接的线程数。对于多核服务器或者当前存在过多的
非keep-alive状态的链接时,可增大该数值    1,一般架构前端有反向代理。默认就好.

pollerThreadCount
用于polling事件的线程数目。至7.0.27版本,默认为毎核1个。自7.0.28版本之后,
默认每核1个,不超过2个。一般用默认即可。

selectorTimeout
poller的select超时时间,单位为毫秒。该属性值非常重要,因为链接的清理在同一个
线程执行,所以不能设置为一个非常髙的值。默认为1000ms。默认即可。

连接器-流量相关

maxHeaderCount
允许的最大的请求头个数,当请求头个数超过该值是将会被拒绝。当为负值时,表示不作限制。
无特殊需求,默认即可。默认值100.

xpoweredBy: 响应头显示Servlet版本信息。默认false,默认就好。

maxParameterCount
请求参数(GET和POST之和)最大个数,超出该个数的参数将被忽略。当为负值时,不作限制。

maxConnections
服务器接受并处理的最大连接数。当到达该值后,服务器接收但是不会处理更多的请求。
但系统仍然接收连接。

server
HTTP响应的Server头信息

压缩

compression 
该参数可以接受的值如下:
 off:禁用压缩
 on:允许压缩
 force:所有情况强制压缩
 整数值:等价于 on, 该值表示输出数据压缩之前的最小数据量。
 在不知道content-length的情况下,如果该属性为除off以外的其他值,那么输出仍将被压缩。
 默认: off

compressionMinSize
如果compression设置为on,该属性用于指定输出数据压缩之前的最小数据量。只有当响应数据
超过该值时,才会启用GZIP压缩。

compressableMimeType    
可以采用HTTP压缩的MIME类型,以逗号分隔。

静态文件缓存

Tomcat 7为Context的属性:

Tomcat8为Context/Resources的属性:



allowLinking
应用中是否允许软连接外部文件或目录。

cachingAllowed
是否启用静态文件缓存。

cacheMaxSize/20以下。

缓存空间大小。单位kb.

cacheObjectMaxSize
允许缓存的最大文件容量,大小此容量的文件将不被Cache.
cacheObjectMaxSize会被限定在cacheMaxSize/20以下。

cacheTtl (renamed: it was cacheTTL in Tomcat 7)
Cache有内容的检查间隔。默认5000,单位ms.

JSP页面优化,(JSP用的人很少了)

  (1). 预编译JSP页面。
  (2). 设置开发模式为false。
  (3). 设置genStringAsCharArray参数为true。
  (4). 设置trimSpaces参数为true。
  (5). 静态页面缓存。

请求编码

 URIEncoding
 用于指定解码URI字节的字符编码,在xx%解码之后。

 useBodyEncodingForURI
 是否contentType指定的编码可用于URI  査询参数,以替代 使用URIEncoding。

 这两个参数根据项目情况而定。