Tomcat主配置-请求处理

线程池前端

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的属性:
<Context allowLinking="true" />
Tomcat8为Context/Resources的属性:
<Context>
<Resources allowLinking="true" />

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). 静态页面缓存。

请求编码app

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

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

 这两个参数根据项目状况而定。
相关文章
相关标签/搜索