zoukankan      html  css  js  c++  java
  • Tomcat优化配置

    1、环境:

      系统:Windows、Linux

      Tomcat版本:9

    2、编码与性能调优

      server.xml文件:

    <Connector port="8080" connectionTimeout="20000" redirectPort="8443" 
      protocol="org.apache.coyote.http11.Http11NioProtocol"
      enableLookups="false"
      maxThreads="1000"
      minSpareThreads="100"
      acceptCount="1500"
      disableUploadTimeout="true"
      URIEncoding="UTF-8"
      compression="on"
      compressionMinSize="1024"
      useSendfile="false"
      noCompressionUserAgents="gozilla, traviata"
      compressibleMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
    />

      参数说明:

      • org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio
      • maxThreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。
      • minSpareThreads:最小空闲线程数。
      • acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。
      • disableUploadTimeout:禁用上传超时时间
      • connectionTimeout:连接超时,单位毫秒,0代表不限制
      • URIEncoding:URI地址编码使用UTF-8
      • enableLookups:关闭dns解析,提高响应时间
      • compression:启用压缩功能
      • compressionMinSize:最小压缩大小,单位Byte
      • compressibleMimeType :压缩的文件类型

    3、内存配置

      打开$TOMCAT_HOME/bin/catalina.sh文件(Windows系统是catalina.bat文件),大楖在250行左右,在JAVA_OPTS参数上添加内存参数设置即可

      catalina.sh:

    JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -server -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256 -Djava.awt.headless=true"

      catalina.bat:

    set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -server -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256 -Djava.awt.headless=true"

      -server参数:表示以服务模式启动,启动速度会稍微慢一点,但性能会高很多。不加这个参数,默认是以客户端模式启动。 
      java.awt.headless=true参数:与图形操作有关,适用于Linux系统。如生成验证码,含义是当前使用的是没有安装图安装图形界面的服务器,应用中如果获取系统显示有关参数会抛异常,可通过jmap -heap proccess_id查看设置是否成功。

    4、启用后台管理

      conf omcat-users.xml

    <role rolename="manager-status"/>
    <role rolename="manager"/>  
    <role rolename="manager-jmx"/> 
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="admin"/>
    <user username="admin" password="123" roles="manager,manager-gui,admin,manager-status,manager-jmx,manager-script"/>

      webappsmanagerMETA-INFcontext.xml

    <Context antiResourceLocking="false" privileged="true" >
      <Valve className="org.apache.catalina.valves.RemoteAddrValve"
             allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|d+.d+.d+.d+" />
      <Manager sessionAttributeValueClassNameFilter="java.lang.(?:Boolean|Integer|Long|Number|String)|org.apache.catalina.filters.CsrfPreventionFilter$LruCache(?:$1)?|java.util.(?:Linked)?HashMap"/>
    </Context>

    5、修改进程名称

      setclasspath.bat,找到set _RUNJAVA=”%JRE_HOME%injava”这一行。 将该行注释掉 ,然后在该行下面添加如下两行并进行保存:

    copy "%JRE_HOME%injava.exe" "%JRE_HOME%inmy_java.exe"
    set _RUNJAVA="%JRE_HOME%inmy_java"

      setclasspath.sh,找到_RUNJAVA="$JRE_HOME"/bin/java这一行, 并注释掉,然后在该行下面添加如两行并进行保存:

    cp "$JRE_HOME"/bin/java "$JRE_HOME"/bin/my_java
    _RUNJAVA="$JRE_HOME"/bin/my_java

      

  • 相关阅读:
    loj6145. 「2017 山东三轮集训 Day7」Easy
    CF1019E Raining season
    CF1261F Xor-Set
    Python笔试——递归算法学习
    Python笔试——贪心算法
    Python笔试——万万没想到抓捕孔连顺
    Python笔试——雀魂启动
    Python学习——正则表达式
    Python笔试——毕业旅行问题
    Python笔试——Stern-Brocot tree
  • 原文地址:https://www.cnblogs.com/voyager-fu/p/9674598.html
Copyright © 2011-2022 走看看