• JVM tomcat 性能调优


    1,新建web 测试项目并且发布到Tomcat,访问路径:http://127.0.0.1:8080/JvmWeb/index

        

    @WebServlet("/index")
    public class HelloServlet extends HttpServlet {
        
        Object object = new Object();
        private int count  = 0;
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println(object.hashCode());
            System.out.println(++count);
        }
    
    }

    2,在Jmeter 中添加项目

        Step1: 在Test plan 中 Add 线程组,可以添加线程的数量,以及访问的次数

        Step2: 在添加的Thread Group 中添加sample中的Http Request

        Step3: 在添加的Http Request中添加Listener中的Summary Report(聚合报告)

    3,吞吐量

    QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准

    4,测试串行

        打开tomcat module ,点击Open launch configuration,VM 配置如下:

        

    -XX:+PrintGCDetails -Xmx32M -Xms1M      //堆的初始内存1M 最大内存32
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+UseSerialGC
    -XX:PermSize=32M                       //非堆区内存为32M

    gc 回收次数约为28次,Jmeter 运行完其吞吐量为1100 左右

     再次设置

    -XX:+PrintGCDetails -Xmx32M -Xms32M      //堆的初始内存32M 最大内存32M
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+UseSerialGC
    -XX:PermSize=32M                       //非堆区内存为32M

    gc 回收次数约为7次,Jmeter 运行完其吞吐量为1300 左右

    -XX:+PrintGCDetails -Xmx512M -Xms32M      //堆的初始内存32M 最大内存512M
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+UseSerialGC
    -XX:PermSize=32M                       //非堆区内存为32M

    gc 回收次数约为7次,Jmeter 运行完其吞吐量为1300 左右

    结论:垃圾回收次数和设置最大堆内存大小无关,只和初始内存有关系。初始内存会影响吞吐量。

    -XX:+PrintGCDetails -Xmx512M –Xms512M
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+UseSerialGC
    -XX:PermSize=32M

    结论:堆的初始值和最大堆内存一致,并且初始堆越大就会高。

    并行回收(UseParNewGC)

    -XX:+PrintGCDetails -Xmx512M -Xms512M
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+UseParNewGC
    -XX:PermSize=32M
    GC回收0次 吞吐量6800

    CMS收集器  B/S 等待时间少,用户体验好

    -XX:+PrintGCDetails -Xmx512M -Xms512M
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+UseConcMarkSweepGC 
    -XX:PermSize=32M


    G1回收方式  支持多CPU

    -XX:+PrintGCDetails -Xmx512M -Xms512M
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+UseG1GC
    -XX:PermSize=32M
  • 相关阅读:
    Linux命令笔记
    Linux服务安装集合(1)
    浅谈GIT之通讯协议
    浅谈GIT之底层对象理解
    友情链接
    当黑客被抓是种怎样的体验?
    PHP 中 include 和 require 的区别详解
    论假如有一台无限算力的主机
    msf渗透安卓手机
    aws ec2 安装Elastic search 7.2.0 kibana 并配置 hanlp 分词插件
  • 原文地址:https://www.cnblogs.com/pickKnow/p/11126136.html
Copyright © 2020-2023  润新知