zoukankan      html  css  js  c++  java
  • Tomcat优化2 大风起

    1. conf/server.xml中Executor对应的相关参数

    <!--连接池设置-->
    <Executor
    name="tomcatThreadPool" --线程池名
    namePrefix="catalina-exec-" --线程名称前缀 namePrefix+threaNumber
    maxThreads="1000" --池中最大线程数
    minSpareThreads="100" --活跃线程数 会一直存在
    maxIdleTime="60000" --线程空闲时间,超过该时间,线程会被销毁 ms
    maxQueueSize="Integer.MAX_VALUE" --被执行前线程的排队数目
    prestartminSpareThreads="false" --启动线程池时,是否启用minSpareThreads部分线程
    threadPriority="5" --线程池中线程优先级 1~10
    className="org.apache.catalina.core.StandardThreadExecutor" --线程实现类 自定义线程需时间 org.apache.catalina.Executor类
    />
    <!--当配置了连接池时,需要配置该连接器-->
    <Connector
    executor="tomcatThreadPool" --线程池名
    port="8080"
    protocol="org.apache.coyote.http11.Http11AprProtocol"
    connectionTimeout="20000"
    redirectPort="8443" />

    2.conf/server.xml中Connector对应的相关参数


    <Connector
    port="8080"
    protocol="org.apache.coyote.http11.Http11AprProtocol" --协议类型
    disableUploadTimeout="true"
    keepAliveTimeout="20000"
    connectionTimeout="20000" --已接受,但未被处理的请求的等待超时时间 ms
    redirectPort="8443" --安全通信的转发端口
    URIEncoding="UTF-8"--URL编码字符集
    minSpareThreads="100" --默认初始化和保持空闲的线程数
    enableLookups="false"--关闭DNS反向查询
    useURIValidationHack="false" --关闭不必要的检查
    maxThreads="1000" --处理请求线程的最大数目 未配置为200 此属性会被忽略
    acceptCount="1000" --所用可能的线程都在使用时传入连接请求的最大长度
    disableUploadTimeout="true" --设置允许更长的超时连接
    maxConnections="1000"--接受和处理的最大连接数(nio/nio2 1000,apr 8192)
    maxHttpHeaderSize="8192"--请求和响应http头的最大大小 8k
    tcpNoDelay="true" --tcp不延迟
    compression="on"--是否启用压缩 on off force
    compressionMinSize="2048" --压缩前数据最小值 2k byte
    noCompressionUserAgents="gozilla,traviata" --设置哪些浏览器不压缩
    compressableMimeType="text/html,text/xml,text/css,application/javascript,text/plain" --设置压缩的文件类型
    />

    3. 有关 JAVA_OPTS

    set JAVA_OPTS=
    -server
    -Xms1000M
    -Xmx1000M #-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

    4. 禁用8005端口

    telnet localhost 8005 然后输入 SHUTDOWN 就可以关闭 Tomcat,为了安全我们要禁用该功能

    默认值:

    <Server port="8005" shutdown="SHUTDOWN">
    修改为:

    <Server port="-1" shutdown="SHUTDOWN">
    ---------------------

    推荐优化连接:https://yq.aliyun.com/articles/693915?spm=a2c4e.11155472.0.0.3ffd5e1cFwJHlA

    假设是一种超能力
  • 相关阅读:
    子类继承和调用父类的构造方法 (转)
    数组复制 System.arraycopy 与 Arrays.copyof()
    ArrayList的使用方法 (转)
    Eclipse 的debug 用法 (转)
    for each
    二维数组 排序 随机数 练习
    react 之 reflux 填坑
    react & vue 项目创建的方式
    数组实例的 copyWithin()
    es6的正则扩展笔记之修饰符
  • 原文地址:https://www.cnblogs.com/Haihong72H/p/11004731.html
Copyright © 2011-2022 走看看