Tomcat优化

来源:互联网 发布:伺服电机编程 编辑:程序博客网 时间:2024/06/07 06:04

一. 内存优化

主要是对tomcat启动参数进行优化,修改tomcat启动脚本catalina.sh中的设置

1. 参数说明

  • jdk版本
    -server:启用jdk的server版,一定要作为第一个参数,在多个CPU时性能佳;
  • 分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半
    -Xms:jvm初始内存,cpu性能高时此值应设的大一些;此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存
    -Xmx:jvm最大内存;

  • 其他
    -XX:PermSize:永久代的最小值;
    -XX:MaxPermSize:永久代的最大值;
    -XX:MaxNewSize:年轻代最大值

公司服务器内存为2G时建议设置:

JAVA_OPTS='-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'

二. 修改启动模式

修改server.xml里的Connector节点,修改protocol为org.apache.coyote.http11.Http11NioProtocol

三. 并发优化

修改server.xml
1. 参数说明
- maxThreads:客户请求最大线程数;
- minSpareThreads:Tomcat初始化时创建的socket线程数;
- maxSpareThreads:Tomcat连接器的最大空闲socket线程数;
- enableLookups: 是否反查域名,取值为:true或false.为了提高处理能力,应设置为false;
- acceptAccount: 允许的最大连接数,应大于等于maxProcessors,默认值为100,满了之后客户请求会被拒绝(不能小于naxSpreThreads)
- connectionTimeout: 网络连接超时,单位:毫秒.设置为0表示永不超时,这样设置有隐患的.通常可设置为30000毫秒。
- minProcessors: 最小空闲连接线程数,用于提高系统处理性能,默认值为10
- maxProcessors: 最大连接线程数,即:并发处理的最大请求数,默认值为75;
- URIEncoding: URL统一编码

  1. 配置示例
<Connector port="9027"        protocol="HTTP/1.1"        maxHttpHeaderSize="8192"        minProcessors="100"        maxProcessors="1000"        acceptCount="1000"        redirectPort="8443"        disableUploadTimeout="true"/>

四. 缓存优化

修改server.xml
1. 参数说明

compression: 打开压缩功能compressionMinSize: 启用压缩的输出内容大小,这里面默认为2KBcompressableMimeType: 压缩类型connectionTimeout: 定义建立客户连接超时的时间. 如果为 -1, 表示不限制建立客户连接的时间
  1. 配置示例
compression=”oncompressionMinSize=”2048”compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain”connectionTimeout=”20000
原创粉丝点击