Tomcat和Jboss调优部分配置详解

1.Tomcat调优  (各参数请按实际情况酌情配置!)

Linux:
  catalina.sh:

    -Xms:最小内存

    -Xmx:最大内存

    -XX:PermSize:永久域初始值 

    -XX:MaxPermSize:指定PermGen space区域内存,默认4M(永久域最大值) 

  配置实例:
    JAVA_OPTS="${JAVA_OPTS} -server"
    JAVA_OPTS="${JAVA_OPTS} -Xms6144m -Xmx8192m -XX:PermSize=2048m -XX:MaxPermSize=4096m"
  server.xml:
    maxHttpHeaderSize: http长度最大值 默认4096-4k 推荐8192-8k
    maxThreads: tomcat启动的最大线程数 默认200
    acceptCount: 当线程数达到最大时,接收排队的个数 默认100
    minSpareThreads: tomcat初始化创建socket线程数 默认 25
    maxSpareThreads: tomcat连接器的最大空闲socket线程数
    enableLookups: 若为true则支持域名解析, 可将ip解析为主机名, 若为false, 则不可反查域名, 可提高处理能力
    redirectPort: 重定向端口 443为https端口
    connectionTimeout: 启动超时时间 毫秒
    minProcessors: 最小空闲连接线程数,用于提高系统处理性能,默认值为 10
    maxProcessors: 最大连接线程数,即:并发处理的最大请求数,默认值为 75
    userBodyEncodingForURI: 解决乱码 若在代码中设置了utf-8 则不需要
    maxParameterCount: 请求参数最大数量 默认10000
    URIEncoding: 指定编码utf-8
  配置实例:
    <Connector port="80" protocol="HTTP/1.1" maxHttpHeaderSize="8192"
      maxThreads="8000" acceptCount="4000" enableLookups="false" redirectPort="8443"
      connectionTimeout="20000" disableUploadTimeout="true" maxProcessors="1000"
      URIEncoding="utf-8"
    />

Windows:
  catalina.sh:
    rem 要在@echo off上面写这句话 增加tomcat内存
    set JAVA_OPTS=%JAVA_OPTS% -server -Xms2048m -Xmx2048m -XX:PermSize=212M -XX:MaxPermSize=512m

  service.xml配置与linux一致

 

2.Jboss调优  (各参数请按实际情况酌情配置!)

Linux:  (请根据实际位置,添加所需配置)
    run.conf文件位置:./home/jboss/jboss-ewp-5.1/jboss-as-web/bin/run.conf
    service.xml文件位置:./home/jboss/jboss-ewp-5.1/jboss-as-web/server/
    default/deploy/jbossweb.sar/server.xml

  run.conf:
    -Xms1024m:最小内存
    -Xmx2048m:最大内存
    -XX:+UseParallelGC和-XX:+UseParallelOldGC:使服务可以并行回收内存空间
    -XX:+UseConcMarkSweepGC:并行并发CMS垃圾回收器,与-XX:+UseParallelGC和-XX:+UseParallelOldGC不可同时配 置,当增加此配置时必须有:-XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled(jdk为 1.6时不需要加      

      -XX:+CMSPermGenSweepingEnabled因为1.6缺少这个策略)

    -XX:MaxPermSize:指定PermGen space区域内存,默认4M(永久域最大值)
    
-XX:PermSize:永久域初始值
    -XX:NewSize:设置新域的初始值
    -XX:MaxNewSize :设置新域的最大值
    -Dsun.lang.ClassLoader.allowArraySyntax=true:jdk1.6时需要设置true,1.6默认为false
    -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000: Gc机制间隔时间
  
配置实例:
    
if [ "x$JAVA_OPTS" = "x" ]; then
      JAVA_OPTS="-Xms1024m -Xmx2048m -XX:MaxPermSize=512m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true

      -XX:+UseConcMarkSweepGC
      -XX:NewSize=256m -XX:MaxNewSize=512m -XX:PermSize=256m -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -Djboss.platform.mbeanserver"
    fi

  service.xml:
    maxThreads="2000" 最大连接
    acceptCount="3200" 达到maxThreads的值后,排队的数量
    minSpareThreads="400"
    maxSpareThreads="800"
    emptySessionPath="false"
    enableLookups="false"
    disableUploadTimeout="true"
    URIEncoding="UTF-8"
  配置实例:
    <Connector protocol="HTTP/1.1" port="8180" address="0.0.0.0"
      connectionTimeout="20000" redirectPort="8443"
      maxThreads="2000"
      minSpareThreads="400"
      maxSpareThreads="800"
      emptySessionPath="false"
      enableLookups="false"
      acceptCount="3200"
      disableUploadTimeout="true"
      URIEncoding="UTF-8"
    />

 

注:以上内容仅供个人学习记录使用,如有问题,请慎用!

 

 

 

 

 

 

 

posted @ 2020-10-22 10:45  夏天丷  阅读(256)  评论(0编辑  收藏  举报