线程池前端
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。 这两个参数根据项目状况而定。