zoukankan      html  css  js  c++  java
  • JMH基本概念和配置

    JMH基本概念和配置

    1、模式(Mode)

    Mode表示JMH的测量方式和角度,共有四种。

    • Throughput:整体吞吐量,表示1秒内可以执行多少次调用。
    • AverageTime:调用的平均时间,表示每一次调用所需要的时间。
    • SampleTime:随机取样,最后输出随机取样结果的分布。
    • SingleShotTime:以上模式都是默认一次Iteration是一秒,唯有SingleShotTime只运行一次。往往同时把warmup设置为0,用于测试程序的冷启动性能。

    2、迭代(Iteration)

    迭代是JMH的一次测量单位。在大部分测试模式下,一次迭代表示1秒,在这1秒内会不间断的调用被测方法,并采样计算吞吐量、平均时间等。

    3、预热(Warmup)

    由于Java虚拟机JIt的存在,同一个方法在JIT编译前后的时间将会不同。通常只考虑方法在JIt编译之后的性能。

    4、状态(State)

    通过State可以指定一个对象的作用范围。范围主要有两种,一种为线程范围,也就是一个对象只会被一个线程访问。在多线程进行测试时,会为每一个线程生成一个对象。另一种是基准测试范围(BenchMark),即多个线程共享一个实例。

    5、配置类

    Options opt = new OptionsBuilder().include(TestMap_JMH.class.getSimpleName())
                    .forks(2).build();
            try {
                new Runner(opt).run();
            } catch (RunnerException e) {
                e.printStackTrace();
            }
    首先对测试进行配置,需要指定一些参数,比如指定测试类(include)、使用的进程个数(forks)、预热迭代次数(warmupForks),在配置启动测试时,
    需要使用配置类。

  • 相关阅读:
    自研Web漏洞扫描器后的几点思考
    ThinkPHP5.x命令执行漏洞分析
    基于keepalived+nginx+upstream的双master热切换+负载均衡实现方案
    每个看源码的人,都有一颗做“爸爸”的心
    程序员路在何方
    请求页式存储管理实验
    处理机调度实验
    JSP中三种弹出对话框的用法《转》
    Jsp——http status 404 问题
    Jsp——response对象
  • 原文地址:https://www.cnblogs.com/beanbag/p/12586256.html
Copyright © 2011-2022 走看看