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

  • 相关阅读:
    WorkerMan源码分析(resetStd方法,PHP中STDIN, STDOUT, STDERR的重定向)
    linux:nohup 不生成 nohup.out的方法
    PHP系统编程--PHP进程信号处理(转)
    shell脚本实例总结
    saltstack 迭代项目到客户端并结合jenkins自动发布多台服务器
    自动化运维工具 SaltStack 搭建
    coding利用Webhook实现Push代码后的jenkins自动构建
    基于jquery地图特效全国网点查看代码
    基于jquery判断浏览器版本过低代码
    EntityFramework Model有外键时,Json提示循环引用 解决方法
  • 原文地址:https://www.cnblogs.com/cw172/p/12451955.html
Copyright © 2011-2022 走看看