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

    生成GC日志
      -XX:+UseG1GC 代表使用G1垃圾收集器
      -XX:MaxGCPauseMillis=100 垃圾收集最大停顿时间
      -Xmx256m 代表堆内存最大大小
      -XX:+PrintGCDetails 输出GC详细信息
      -XX:+PrintGCTimeStamps 打印GC时间戳
      -XX:+PrintGCDateStamps
      -XX:+PrintHeapAtGC 代表执行GC前和之后堆内存状态
      -Xloggc:C:UsersFLCDesktop授课内容授课资料Y2170JVM专题gc.log 代表日志输出目录

    分析日志文件
      通过gceasy.io官网分析
      上传.log文件
      点击Analyzer分析

    Tomcat优化

      安装Tomcat

        使用XFTP工具进行文件上传,将tomcat压缩包上传到/usr/local

        切换到/usr/local目录,然后使用tar -zxvf 解压集合

        配置Tomcat用户账号和密码

        找到tomcat解压目录的conf文件夹,找到tomcat-users.xml文件,配置用户和角色信息

        <role rolename="manager"/> <role rolename="manager-gui"/> <role rolename="admin"/> <role rolename="admin-gui"/>

        <user username="tomcat" password="tomcat" roles="admin-gui,admin,manager-gui,manager"/>

        tomcat7当中配置了用户名和密码之后直接可以登陆,tomcat8则需要修改webapps/manager/MATE-INF/context.xml文件,将Value注释

        启动Tomcat

        cd /usr/local/apache-tomcat-8/bin
        ./startup.sh
        或
        ./startup.sh && tail -f ../logs/catalina.out

      优化方案:

        禁用ajp服务(windows中tomcat8版本默认就是禁用的,linux需要手动禁用)

        停止tomcat服务  ./shutdown.sh

        找到conf目录下有一个server.xml文件,找到8009端口的Connector节点,注释该节点

        重启tomcat服务

        配置执行器(线程池)

        找到server.xml文件,配置线程池,指定8080使用该执行器

        <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="50" prestartminSpareThreads="true" maxQueueSize="100"/>

        <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443" />

    启用运行模式

      Tomcat启动运行模式:
        bio:传统IO,阻塞IO
        nio:非阻塞IO tomcat8默认
          tomcat8中提供一个nio2,性能比NIO要好
        apr:tomcat7当中默认使用

        <Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol" connectionTimeout="20000" redirectPort="8443" />

  • 相关阅读:
    ScheduledThreadPoolExecutor源码解读
    Spring事务源码阅读笔记
    Spring AOP的实现研究
    cglib之Enhancer
    Spring IOC容器创建bean过程浅析
    CompletionService简讲
    Spring Boot:关于“No converter found for return value of type: class xxx”的解决方法
    java关于Date转换成字符串格式以及Date的增加
    jsp中文乱码六种情况---解决方案
    MYSQL给表添加字段
  • 原文地址:https://www.cnblogs.com/cw172/p/12451955.html
Copyright © 2011-2022 走看看