• 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" />

  • 相关阅读:
    Apache Solr学习 第二篇 solr安装(windows)
    Apache Solr学习 第一篇 简介和安装环境准备
    第二篇 redis常用操作命令
    第一篇 redis简介及安装
    使用maven安装jar包到本地仓库时遇到The goal you specified requires a project to execute but there is no POM in this directory错误
    使用Arrays.asList()时遇到的问题
    linux下zookeeper的安装
    第六篇 mybatis的运行原理(3):工厂方法模式,SqlSession的创建
    leetcode 剑指 Offer 35. 复杂链表的复制
    leetcode 112. 路径总和
  • 原文地址:https://www.cnblogs.com/cw172/p/12451955.html
Copyright © 2020-2023  润新知