zoukankan      html  css  js  c++  java
  • tomcat8.5优化配置

    参考:https://blog.csdn.net/wangfei0904306/article/details/59741236

    参考: http://www.open-open.com/lib/view/open1401931407228.html

    文中的PermSize、MaxPermSize已经不用要去掉,MaxTenuringThreshold最大只能为15

    参考:http://www.th7.cn/Program/java/201303/127995.shtml

    windows系统在bin/catalina.bat文件中加入下面参数,对JVM进行优化  linux系统在catalina.sh文件下修改

    在echo Using CATALINA_BASE:   "%CATALINA_BASE%"的上面一行加下面代码: 

    set JAVA_OPTS=
    -server 
    -Xms4096M 
    -Xmx4096M   #-Xms与-Xmx设成一样的值,避免JVM因为频繁的GC导致性能大起大落
    -Xss512k 
    -XX:+AggressiveOpts 
    -XX:+UseBiasedLocking  
    -XX:+DisableExplicitGC 
    -XX:MaxTenuringThreshold=15 
    -XX:+UseConcMarkSweepGC 
    -XX:+UseParNewGC  
    -XX:+CMSParallelRemarkEnabled 
    -XX:+UseCMSCompactAtFullCollection 
    -XX:LargePageSizeInBytes=128m  
    -XX:+UseFastAccessorMethods 
    -XX:+UseCMSInitiatingOccupancyOnly 
    -Djava.awt.headless=true

     echo Using JAVA_OPTS:    %JAVA_OPTS%

     linux系统在catalina.sh文件下修改

    JAVA_OPTS='
    -server 
    -Xms4096M 
    -Xmx4096M   
    -Xss512k 
    -XX:+AggressiveOpts 
    -XX:+UseBiasedLocking  
    -XX:+DisableExplicitGC 
    -XX:MaxTenuringThreshold=15 
    -XX:+UseConcMarkSweepGC 
    -XX:+UseParNewGC  
    -XX:+CMSParallelRemarkEnabled 
    -XX:LargePageSizeInBytes=128m  
    -XX:+UseFastAccessorMethods 
    -XX:+UseCMSInitiatingOccupancyOnly 
    -Djava.awt.headless=true';

    -Xmx:java heap最大值,使用的最大内存
    上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。
    -XX:PermSize:设定内存的永久保存区域
    -XX:MaxPermSize:设定最大内存的永久保存区域
    -XX:MaxNewSize:
    -Xss 15120 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.
    +XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
    -Xss:每个线程的Stack大小
    -verbose:gc 现实垃圾收集信息
    -Xloggc:gc.log 指定垃圾收集日志文件
    -Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一
    -XX:+UseParNewGC :缩短minor收集的时间
    -XX:+UseConcMarkSweepGC :缩短major收集的时间

    2、Tomcat连接参数的优化,主要是针对吞吐量做优化:

    参考  http://blog.csdn.net/centre10/article/details/50639693

    修改conf/server.xml文件,把原来

    <Connector port="8080" protocol="HTTP/1.1" />

    改成

    <Connector port="8080"
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    maxHttpHeaderSize="8192"
    maxThreads="1000"
    minSpareThreads="100"
    maxSpareThreads="1000"
    minProcessors="100"
    maxProcessors="1000"
    enableLookups="false"
    compression="on"
    compressionMinSize="1024"
    noCompressionUserAgents="gozilla, traviata"
    compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
    connectionTimeout="25000"
    URIEncoding="utf-8"
    acceptCount="1000"
    redirectPort="8443"
    disableUploadTimeout="true" />

  • 相关阅读:
    23种设计模式(12):策略模式
    23种设计模式(11):责任链模式
    23种设计模式(10):命令模式
    23种设计模式(9):访问者模式
    23种设计模式(8):观察者模式
    23种设计模式(7):中介者模式
    23种设计模式(6):模版方法模式
    创建型模式总结
    23种设计模式(5):原型模式
    leetcode6
  • 原文地址:https://www.cnblogs.com/steven-snow/p/9262025.html
Copyright © 2011-2022 走看看