首页 > 编程语言 >使用JMeter的条件--安装Java

使用JMeter的条件--安装Java

时间:2022-10-29 18:45:58浏览次数:78  
标签:JRE Java JDK -- keytool JMeter 下载

  1. 首先下载JMeter,网址:https://jmeter.apache.org/dow...

    下载Binaries版,即可执行版,已编译好,下载解压就可以用。
    Source版是源代码版,需要自己编译成可执行文件。
    tgz压缩格式用于unix系统。Windows系统中用WinRAR也能解压tgz.

  2. 双击 /bin/jmeter.bat,打开GUI mode来设计脚本。

    如果设计完成后,跑压力测试,要用Non-GUI mode.

  3. 如果没有安装JAVA,在运行jmeter.bat后,会提示 Not able to find Java executable or version.Please check your Java installation.

  4. 按JMeter官网的说明,最少要安装JRE,但最好安装JDK,因为用到JDK中的keytool。
    JMeter is compatible with Java 8 or higher. We highly advise you to install latest minor version of your major version for security and performance reasons.
    Because JMeter uses only standard Java APIs, please do not file bug reports if your JRE fails to run JMeter because of JRE implementation issues.
    Although you can use a JRE, it is better to install a JDK as for recording of HTTPS, JMeter needs keytool utility from JDK.

  5. 那么keytool是什么呢?
    网络上的文章有写到:
    keytool 是 JDK 自带的一个密钥库管理工具。这里只用到了 keytool 的部分功能,包括生成密钥对,导出公钥等。keytool 生成的公钥/私钥对存放到一个到了一个文件中,这个文件有密码保护,通称为 keystore。
    所以,应该是为了HTTPS协议所用。
  6. 那么怎么下载JRE,或JDK呢?
    JRE,叫Java运行时环境,现在直接叫Java8,包括JVM+Java SE核心类库。

     JDK,叫Java开发工具包,包括 JRE+Java开发工具(java,javac,javadoc,...)

    JDK,又分为Java EE(企业版),Java SE(标准版),Java ME(小型版)。
    按文章https://blog.csdn.net/wangpai...上所讲,JRE现在被包含JDK中,一般也不再单独下载。而Java EE已经融入Java企业框架。Java ME已经被放弃。现在的下载Java SE,与下载JDK,或者下载Java,都是同义词。OpenJDK,是指开源的JDK。
    但在Java官网下载时,发现下载Java时,仍是JRE;而下载Java SE开发工具包,才是下载JDK,又叫Oracle JDK,与OpenJDK是差不多的。JRE和JDK的文件大小也差距甚大。

     

  7. 如果只安装JRE,没有keytool,那通过JMeter测试HTTPS接口会如何?
    只安装Java 8后,使用HTTPS协议,就会返回location.replace(location.href.replace("https://","http://"));

    JMeter2.13时,返回的字符,最多接受204800
    JMeter5.5时,View Results Tree在结果之间切换时,会卡顿。
    JMeter4,能使用5.5创建的脚本,而且没有卡顿现象。

  8. 再安装JDK后(JDK19)
    运行JMeter4,报错 Error occurred during initialization of boot layer ...Module java.activation not found

    开始以为是因为JRE和JDK一起安装的原因,但卸载了JRE,仍是报这个,后来百度https://www.soinside.com/question/EUvBeQasUqUPQavRje3bf6,说是因为JMeter4太旧。

    那为什么JRE没卸载时,JMeter4没问题呢?难道最新的JRE(Java8)比最新的JDK19版本低很多?待会试一下
    换了JMeter5.0,能启动,也没有卡顿。但仍是不能使用HTTPS。
    后来查询,要使用HTTPS,要导入接口网站证书。这个证书需要使用keytool转化为store格式。参考文档https://www.cnblogs.com/benpa...

  9. 将JDK19卸载,换上JDK17
    本身JDK19按官网说法就不是长期支持版本

    换上JDK17后,JMeter4,JMeter5.5仍是前面的问题。JMeter5.4和JMeter5.4.3另有Open按钮无响应的问题。难道只能用JMeter5.0? 应该按推荐使用最新的JMeter啊。

  10. 将JDK下载页面继续向下,看到有JDK8和JDK11,但下载都要注册账户,而且看网上说,只有JDK11后才免费。暂时放弃。

  11. 改用OpenJDK试一试,先卸载Oracle JDK17,再安装OpenJDK19.0.1
    将OpenJDK19.0.1解压,放到自己目录。

     

    配置Java的环境变量,这步非常必要

    这时cmd就可以在任意目录运行java或javac。当然cmd要重新打开。

  12. 安装OpenJDK19成功后,运行JMeter
    运行JMeter4.0,仍报同样的错

    运行JMeter5.5,仍是卡顿问题。(命令窗口也没有error。这点之前没注意,是最后一步时才注意到)。但注意到,卡顿是因为response body内容太大时的结果,才会卡顿。如果不大,还是很快。
    运行JMeter5.4.3,则仍是Open按钮的问题。

  13. 换成OpenJDK17,同样的结果。

  14. 换成OpenJDK8u42后
    运行JMeter4.0,打开不再报错。跑脚本也没有问题。
    运行JMeter5.5,仍有卡顿问题。而且但命令窗口提示有error

    运行JMeter5.4.3,Open按钮解决了,也没有卡顿。但命令窗口的error,同JMeter5.5一样。
    通过上述不同的组合知道,要想使用最新的JMeter,那不论使用哪版的JDK,都不完美。

    既然如此,就使用最新的OpenJDK19,而JMeter使用5.5版本,或者5.0版本吧。

标签:JRE,Java,JDK,--,keytool,JMeter,下载
From: https://www.cnblogs.com/guohui2022/p/16839134.html

相关文章

  • Qt应用程序接口和插件的创建详细过程
    Qt应用程序接口:包含类定义的头文件(*.h),该类定义中一般只包含纯虚函数的声明。Qt应用程序插件:继承自指定类和接口的C++类,该类实现了接口中定义的纯虚函数。 ------------......
  • JavaScript 获取和设置剪贴板中的内容
    通过JavaScript在浏览器中获取或设置剪贴板中的内容,常用于一键复制或使用网页油猴复制限制文本使用execCommand(已弃用)写入文本到剪贴板document.onclick=func......
  • 9.Markdown高级技巧
    #markdown高级技巧##支持的html元素不在markdown涵盖范围之内的标签,都可以直接在文档里使用html来撰写 目前支持的html元素有:```<kbd><b><i><em><sup>......
  • 8.Markdown表格
    #markdown表格markdown制作表格,使用|来分隔不同的单元格,使用-来分隔表头和其他行|表头1 |表头2|表头三||-  |-  |-  ||单元格|......
  • 第1章 欢迎来到 Python3 玩转机器学习
     1-1导学                                               ......
  • Leetcode第1773题:统计匹配规则的物品数量(Counting items match a rule)
    解题思路根据题意进行模拟即可,利用哈希表把输入的ruleKey转换为items[i]的下标,然后再遍历一遍items,找出符合条件的物品数量。代码如下:classSolution{public:int......
  • javaweb期中考试
     校园社团活动管理系统(20分)1、项目需求:校园社团作为高校课外活动的重要组成部分,发展十分迅速,也受到越来越多学生的欢迎,社团规模、数量等都在日益增长,社团活动也更为多......
  • 引力搜索算法(Gravitational_Search_algorithm,GSA)附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进。......
  • 在线问题反馈模块实战(二十一):完结篇
    ......
  • 初识C语言
    1.C语言是一门计算机语言(人和计算机交流的语言C/C++/JAVA/python) 2.计算机语言的发展:二进制---汇编语言---B语言---C语言…(高级语言,有国际标准). 3、写C代码:创建项目(放好......