zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    java8之lambda表达式(默认方法)
    结合 CSS3 & Canvas 模拟人行走的效果
    使用 SVG 实现一个漂亮的页面预加载效果
    借助 CSS Colorguard 来避免使用重复的颜色
    网站制作素材:创意的404错误页面下载
    使用 CSS3 打造一组质感细腻丝滑的按钮
    经典!HTML5 Canvas 模拟可撕裂布料效果
    实用工具:检测过时的浏览器并提醒用户更新
    Hya.io – 基于 Web 的数字音频工作站
    SlidesJS
  • 原文地址:https://www.cnblogs.com/pickKnow/p/11126136.html
Copyright © 2011-2022 走看看