Linux环境JMeter脚本性能测试、easyNmon生成监控报告

一、下载JMeter安装包

Jmeter是Java开发的,需要依赖JDK环境,因此我们需提前安装好JDK。

Jmeter是开源的工具,我们直接到官网下载即可。

最新版本下载地址:Apache JMeter - Download Apache JMeter

二、安装JMeter

#新建jmeter文件夹
mkdir jmeter
 
 
#解压文件
tar -xzvf apache-jmeter-5.2.1.tgz

 三、下载及安装easyNmon

github:https://github.com/mzky/easyNmon

#新建easyNmon文件夹
mkdir easyNmon
 
 
#解压文件
tar -zxvf easyNmon.tar.gz

解压完成后,打开文件夹easyNmon,通过如下命令启动:(选中自己合适方式)

./easyNmon  #前台启动,控制台断开服务停止
./easyNmon &  #后台启动,控制台断开服务同样停止
nohup ./easyNmon > easyNmon.log &  #后台启动,控制台断开服务仍正常运行

在easyNmon目录下,输入 ./easyNmon -h 查看相关信息

 一般使用 ./easyNmon & 即可,默认端口为9999

 四、jmx配置

<!--线程组-->

<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="测试" enabled="true">
    <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
    <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true">
        <boolProp name="LoopController.continue_forever">false</boolProp>
        <intProp name="LoopController.loops">-1</intProp>
    </elementProp>
    <stringProp name="ThreadGroup.num_threads">50</stringProp> <!--并发数-->
    <stringProp name="ThreadGroup.ramp_time">1</stringProp>    <!--1sec完成-->
    <boolProp name="ThreadGroup.scheduler">true</boolProp>     <!--调度器开关--> 
    <stringProp name="ThreadGroup.duration">300</stringProp>   <!--持续时间,sec为单位-->  
    <stringProp name="ThreadGroup.delay"></stringProp>         <!--启动延时,sec为单位-->
</ThreadGroup>

<!--http sample API--> 

<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP请求" enabled="true">
  <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
    <collectionProp name="Arguments.arguments">
      <elementProp name="" elementType="HTTPArgument">
        <boolProp name="HTTPArgument.always_encode">false</boolProp>
        <stringProp name="Argument.value">=</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
    </collectionProp>
  </elementProp>
  <stringProp name="HTTPSampler.domain">192.168.96.168</stringProp>    <!--服务器名称或者ip-->
  <stringProp name="HTTPSampler.port">80</stringProp>       <!--请求端口--> 
  <stringProp name="HTTPSampler.protocol">http</stringProp>         <!--请求协议--> 
  <stringProp name="HTTPSampler.contentEncoding">utf-8</stringProp>     <!--内容编码--> 
  <stringProp name="HTTPSampler.path">web/ab.html</stringProp>      <!--请求路径--> 
  <stringProp name="HTTPSampler.method">GET</stringProp>        <!--请求方法-->
  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>     <!--跟随重定向开关-->
  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>      <!--自动重定向开关-->
  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>            <!--使用keepalive开关-->
  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>       <!--使用多个/表单数据进行发布-->
  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  <stringProp name="HTTPSampler.connect_timeout"></stringProp>    <!--连接超时--> 
  <stringProp name="HTTPSampler.response_timeout"></stringProp>   <!--响应超时-->
</HTTPSamplerProxy>
<stringProp name="HTTPSampler.domain">192.168.1.1</stringProp>
<stringProp name="HTTPSampler.port">8080</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding">utf-8</stringProp>
<stringProp name="HTTPSampler.path">/api/v1/test</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>

<!--easyNmon配置--> 

<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="执行监控" enabled="true">
    <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
      <collectionProp name="Arguments.arguments"/>
    </elementProp>
    <stringProp name="HTTPSampler.domain">192.168.227.198</stringProp> <!--easyNmon IP-->
    <stringProp name="HTTPSampler.port">9999</stringProp>              <!--easyNmon 端口-->
    <stringProp name="HTTPSampler.protocol">http</stringProp>
    <stringProp name="HTTPSampler.contentEncoding"></stringProp>
    <stringProp name="HTTPSampler.path">/start?n=${__strReplace(${__TestPlanName},.jmx,-,)}&amp;amp;t=10</stringProp>
    <stringProp name="HTTPSampler.method">GET</stringProp>
    <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
    <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
    <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
    <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
    <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
    <stringProp name="HTTPSampler.connect_timeout"></stringProp>
    <stringProp name="HTTPSampler.response_timeout"></stringProp>
</HTTPSamplerProxy>

五、运行

进入jmeter下的bin目录下运行脚本,未配置jmeter环境变量的条件下,运行的命令:

./jmeter -n -t a.jmx -l res.jtl

其中a.jmx是准备好的jmeter脚本,res.jtl是测试结果文件。

六、查看easyNmon报告 

登录 http://{easyNmon部署地址}:9999/report/,查看报告。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要在Linux上运行JMeter脚本,您需要按照以下步骤操作: 1. 首先,您需要在Linux上安装Java运行时环境(JRE)。 2. 接下来,您需要下载并安装JMeter。您可以从官方网站上下载JMeter二进制文件,并将其解压缩到您选择的目录中。 3. 然后,您需要打开终端并导航到JMeter的bin目录。 4. 在bin目录中,您可以使用以下命令来启动JMeter: ./jmeter.sh 5. 一旦JMeter启动,您可以打开您的JMeter脚本文件并运行它。 6. 在运行脚本之前,您需要确保您已经正确配置了测试计划和线程组,并且已经设置了正确的测试参数。 7. 运行脚本后,您可以查看测试结果并分析性能数据。 总之,要在Linux上运行JMeter脚本,您需要安装Java运行时环境,下载并安装JMeter,打开终端并导航到JMeter的bin目录,启动JMeter,打开您的脚本文件并运行它,然后查看测试结果并分析性能数据。 ### 回答2: 首先,在Linux系统上运行JMeter脚本需要先安装Java运行环境(JRE/JDK)和JMeter工具。可以使用命令行或者图形界面方式来安装。 使用命令行安装Java运行环境: 1. 打开终端或命令行界面; 2. 输入“sudo apt-get install default-jre”命令安装JRE; 3. 安装后输入“java -version”命令,检查是否安装成功。 4. 如果需要安装JDK可以输入“sudo apt-get install default-jdk”命令,这会安装JDK和JRE。 使用命令行安装JMeter: 1. 打开终端或命令行界面; 2. 使用wget下载JMeter“wget http://mirror.reverse.net/pub/apache/jmeter/binaries/apache-jmeter-5.4.1.tgz”; 3. 解压JMeter“tar -xvf apache-jmeter-5.4.1.tgz”; 4. 进入JMeter目录“cd apache-jmeter-5.4.1/bin”; 5. 运行JMeter“./jmeter”。 使用图形界面安装JMeter: 1. 下载JMeter软件包; 2. 打开终端或命令行界面,进入到JMeter软件包所在的目录; 3. 解压JMeter“tar -xvf apache-jmeter-5.4.1.tgz”; 4. 进入JMeter目录“cd apache-jmeter-5.4.1/bin”; 5. 运行JMeter“./jmeter”; 安装完成后,即可开始在Linux系统上运行JMeter脚本。 在JMeter中,用户可以使用图形界面或者命令行方式来运行测试脚本。要在命令行下运行脚本,需要使用命令行选项和参数。下面是一个运行一个脚本的示例命令: jmeter -n -t testplan.jmx 其中,“-n”表示非GUI模式,只运行脚本而不需要GUI;“-t”指定要运行的测试计划文件。 总之,在Linux系统上运行JMeter脚本需要先安装Java运行环境JMeter工具,安装完成后即可开始使用命令行或者图形界面方式来运行测试脚本。 ### 回答3: JMeter 是一款Apache开源项目中的性能测试工具,用于测试 Web 应用程序、FTP 服务器、SOAP / RESTful Web Services 和数据库等服务的性能。 在 Linux 上运行 JMeter 脚本需要以下步骤: 1. 安装 JavaLinux 上安装 Java,可以使用 OpenJDK 和 Oracle JDK。建议使用 OpenJDK。 在 Ubuntu 上,可以运行以下命令: sudo apt-get update sudo apt-get install default-jdk 在 CentOS 上,可以运行以下命令: sudo yum install java-1.8.0-openjdk 2. 下载和解压缩 JMeter 下载 JMeter 压缩包并解压缩到指定的目录,如 /opt 目录下。 在 Ubuntu 上,可以运行以下命令: sudo mkdir /opt/jmeter cd /opt/jmeter sudo wget https://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.4.1.tgz sudo tar xzvf apache-jmeter-5.4.1.tgz 在 CentOS 上,可以运行以下命令: sudo mkdir /opt/jmeter cd /opt/jmeter sudo wget https://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.4.1.tgz sudo tar xzvf apache-jmeter-5.4.1.tgz 3. 启动 JMeter 在终端中,进入 JMeter 路径,并执行以下命令来启动 JMeter: ./bin/jmeter.sh 4. 新建测试计划 在 JMeter 中,可以新建测试计划,设置线程组、请求和断言等。 5. 运行脚本JMeter 中,可以通过点击 Run 按钮来运行脚本,并查看测试结果。 注意:在 Linux 上运行 JMeter 脚本时,需要保证系统内存和 CPU 足够,否则测试结果将受到影响。 总之,Linux 上运行 JMeter 脚本需要先安装 Java,然后下载和解压 JMeter,启动 JMeter,新建测试计划并运行脚本。这些步骤需要认真执行,才能运行 JMeter 脚本顺利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gzzz__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值