Jmeter(五十四) - 从入门到精通高级篇 - 如何在linux系统下运行jmeter脚本 - 上篇(详解教程)
1.简介
上一篇宏哥已经介绍了如何在Linux系统中安装Jmeter,想必各位小伙伴都已经在Linux服务器或者虚拟机上已经实践并且都已经成功安装好了,那么今天宏哥就来介绍一下如何在Linux系统下运行Jmeter脚本。
2.具体步骤
2.1创建Jmeter测试脚本
你要在Linux系统中运行Jmeter脚本首先要有Jmeter。在Windows系统中启动jmeter,创建Jmeter测试脚本,这里宏哥以访问我博客首页为例
1.启动Jmeter后,添加线程组,如下图所示:

2.选中“线程组”,添加取样器“HTTP请求”,如下图所示:

3.选中“HTTP请求”,添加监听器“察看结果树”,如下图所示:

4.点击保存按钮,脚本保存为test.jmx,运行脚本进行调试直到调试成功,如下图所示:

5.将线程组修改成100,然后保存,将文件上传至linux服务器。
2.2运行脚本
1.在Linux服务器的usr目录下创建一个test文件夹,如下图所示:

2.将在Windows调试好的基本上传到此文件夹中,如下图所示:

3.将脚本上传至linux服务器,然后就在当前的test目录下,输入命令 jmeter -n -t test.jmx -l log.jtl ,运行jmeter脚本。运行结果,如下图所示:

4.将脚本上传至linux服务器,或者进入jmeter的bin目录下,输入命令 jmeter -n -t /usr/test/test.jmx -l /usr/test/log.jtl ,运行jmeter脚本。运行结果,如下图所示:

PS:常用命令解析:
# 常见命令说明
-h 帮助:打印出有用的信息并退出
-n 非 GUI 模式:在非 GUI 模式下运行 JMeter
-t 测试文件:要运行的 JMeter 测试脚本文件
-l 日志文件:记录结果的文件
-r 远程执行:启动远程服务
-H 代理主机:设置 JMeter 使用的代理主机
-P 代理端口:设置 JMeter 使用的代理主机的端口号
5.跑完之后,在test目录下,生成两个文件:一个是jmeter.log(jmeter运行日志),一个是我们的性能结果文件(log.jtl),我们用命令把log.jtl文件导入windows系统就能查看结果了,如下图所示:

2.3查看测试报告
1.在windows上启动jmeter,添加所需的监听器,导入脚本运行产生的log.jtl文件,查看测试结果,(注:察看结果树的请求内无信息,后边宏哥会给出解决方案),如下图所示:

从上图可以看出:宏哥前边线程组设置的是100,这里的聚合报告的样本也是100,说明没有问题,运行的是宏哥上传的脚本。
以上,即为在linux环境中运行jmeter脚本进行压测,并生成测试报告的的过程,具体操作,请自行实践,本文仅供参考。。。
2.4解决结果树查看无请求信息
1.在windows上启动jmeter,添加察看结果树监听器,导入脚本运行产生的log.jtl文件,查看测试结果,发现察看结果树的请求内无信息。如下图所示:

2.解决linux下运行jmeter脚本,导出的jtl文件,用结果树查看无请求信息问题,解决方法:在linux的jmeter安装目录下bin/user.properties 加入如下参数:
jmeter.save.saveservice.output_format=xml jmeter.save.saveservice.response_data=true jmeter.save.saveservice.samplerData=true jmeter.save.saveservice.requestHeaders=true jmeter.save.saveservice.url=true jmeter.save.saveservice.responseHeaders=true
3.修改好以后,重新运行脚本,重新导入log.jtl文件查看测试的察看结果树,可以看到请求信息。如下图所示:

2.5解决中文乱码
1.察看结果树,有请求信息了,但是查看响应信息看到中文乱码了,如下图所示:

2.解决linux下运行jmeter脚本,导出的jtl文件,用结果树查看查看响应信息看到中文乱码了。解决办法:
修改bin目录下的user.properties文件,追加配置:
jmeter.save.saveservice.encoding=true
另外:JMeter结果树响应数据中文乱码解决办法:
encoding编码,打开apache-jmeter-5.4\bin\jmeter.properties文件,搜索“encoding”关键字,找到如下配置:
#The encoding to be used if none is provided (default ISO-8859-1)
#sampleresult.default.encoding=ISO-8859-1
将注释删掉,并改成utf-8编码,即:
sampleresult.default.encoding=utf-8
重启JMeter即可。
3.修改好以后,重新运行脚本,重新导入log.jtl文件查看测试的察看结果树,可以看到响应信息没有中文乱码了。如下图所示:

3.小结
1.jmeter为了减轻客户机负担,没有默认把这些信息(请求信息)保存,如果想要保存,也可以,需要做一下前边的配置即可。性能测试建议还是不要开这些配置,会增加报告的大小。
从生产的日志文件大小就可以看出确实是增加了客户机的负担,如下图所示:

2.修改完jmeter的配置文件信息,如果没有作用,记得要使用命令 source /etc/profile 运行后,再次尝试一下。
3.细心的小伙伴或者童鞋们会发现宏哥在登录Linux服务器的时候不是同一个用户,最前边是admin,后边又是root。这是因为宏哥之前用admin的时候,权限没有root的大,在运行脚本时,报错如下: main ERROR FileManager (jmeter.log) java.io.FileNotFoundException: jmeter.log (Permission denied) java.io.FileNotFoundException: jmeter.log (Permission denied) 报了一个权限错误。一时间没有找到解决办法就切换到root用户了,然后就成功运行了脚本。后来宏哥觉得是jmeter启动的日志文件写入不了test的文件夹中,于是就给文件夹赋予了最大权限,如下图所示:

再次运行jmeter脚本运行成功了,如下图所示:

4.要注意:
- 不在JMeter脚本所在的当前目录中执行命令,需要填写脚本文件的全路径。
- 还有就是运行脚本所产生的
jmeter.log文件和结果文件,如果没有指定生成路径的话。会在执行JMeter命令的当前目录中生成。(这点要注意一下)
Jmeter(五十四) - 从入门到精通高级篇 - 如何在linux系统下运行jmeter脚本 - 上篇(详解教程)的更多相关文章
- Jmeter(五十二) - 从入门到精通高级篇 - jmeter之跨线程组传递参数(详解教程)
1.简介 之前分享的所有文章都是只有一个线程组,而且参数的传递也只在一个线程组中,那么如果需要在两个线程组中传递参数,我们怎么做呢?宏哥今天就给小伙伴或者童鞋们讲解一下,如何实现在线程组之间传递参数. ...
- Jmeter(三十四) - 从入门到精通进阶篇 - 参数化(详解教程)
1.简介 前边三十多篇文章主要介绍的是Jmeter的一些操作和基础知识,算是一些初级入门的知识点,从这一篇开始我们就来学习Jmeter比较高级的操作和深入的知识点了.今天这一篇主要是讲参数化,其实前边 ...
- Jmeter(四十四) - 从入门到精通高级篇 - Jmeter远程启动(本地运行+远程运行)(详解教程)
1.简介 这篇文章其实很简单,就是为下一篇文章做一个铺垫,所以宏哥给小伙伴或童鞋们提前热身一下. 2.什么是远程运行? 远程执行,就是脚本放在本地,执行却在另一台电脑上执行,当然,可以是远程多台电脑一 ...
- Jmeter(三十八) - 从入门到精通进阶篇 - 命令行运行JMeter详解(详解教程)
1.简介 前边一篇文章介绍了如何生成测试报告,细心地小伙伴或者同学们可以看到宏哥启动Jmeter生成测试报告不是在gui页面操作的,而是在gui页面设置好保存以后,用命令行来生成测试报告的.这一篇宏哥 ...
- Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)
1.简介 JMeter是一款压力.接口等等的测试工具,Jmeter也可以像loadrunner一样监控服务器CPU.内存等性能参数,用来监控服务器资源使用情况,不过需要安装一些插件.JMeter正常自 ...
- Jmeter(四十六) - 从入门到精通高级篇 - Jmeter之网页图片爬虫-下篇(详解教程)
1.简介 上一篇介绍了爬取文章,这一篇宏哥就简单的介绍一下,如何爬取图片然后保存到本地电脑中.网上很多漂亮的壁纸或者是美女.妹子,想自己收藏一些,挨个保存太费时间,那你可以利用爬虫然后批量下载. 2. ...
- Jmeter(四十九) - 从入门到精通高级篇 - jmeter使用监视器结果监控tomcat性能(详解教程)
1.简介 上一篇宏哥讲解了利用jmeter的插件来监控服务器资源,这一篇讲解分享如何使用jmeter的监视器结果监控tomcat性能. 2.准备工作 文章标题中提到jmeter和tomcat,那么只需 ...
- Jmeter(二十四) - 从入门到精通 - JMeter函数 - 中篇(详解教程)
1.简介 在性能测试中为了真实模拟用户请求,往往我们需要让提交的表单内容每次都发生变化,这个过程叫做参数化.JMeter配置元件与前置处理器都能帮助我们进行参数化,但是都有局限性,为了帮助我们能够更好 ...
- Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)
1.简介 在性能测试中,有时需要模拟一种实际生产中经常出现的情况,即:从某个值开始不断增加压力,直至达到某个值,然后持续运行一段时间,然后继续加压达到某个值持续运行,如此循环直到达到预期的峰值,运行一 ...
随机推荐
- SpringCloud Alibaba入门之Nacos(SCA)
SpringCloud Alibaba Spring Cloud Alibaba 致力于提供微服务开发 的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Clo ...
- 演示默认学习用户scott,默认密码是tiger
默认学习用户scott,默认密码是tiger oracle@prd:/home/oracle$sqlplus /nolog SQL> conn scott/tiger ERROR: ORA-28 ...
- linux lvm逻辑卷管理之lvdisplay命令
linux 磁盘管理分fdisk parted 和LVM三种方式,我们这里重点是说lvm 我们来看看LVM基本术语(lvm和传统fdisk分区方式有区别)由于传统的磁盘管理不能对磁盘进行磁盘管理,因此 ...
- Mysql各版本号的含义
1)MySQL Community Server 社区版本,开源免费,但不提供官方技术支持2)MySQL Enterprise Edition企业版本,需付费,可以试用30天3)MySQL Clust ...
- QT-notepad++仿写
最近小忙,准备学习下FFMPEG 涉及:工具栏使用,QAction,文件基本读写操作 Github地址:https://github.com/wsdassssss/notepad-
- 【Azure 云服务】Azure Cloud Service (Extended Support) 云服务开启诊断日志插件 WAD Extension (Windows Azure Diagnostic) 无法正常工作的原因
问题描述 在Azure中国区上面创建一个云服务(外延支持)后,根据官方文档(在云服务(外延支持)中应用 Azure 诊断扩展: https://docs.azure.cn/zh-cn/cloud-se ...
- css 实现图片专场
<template> <div> </div> </template> <style lang="scss"> html ...
- addEventListener() 和 removeEventListener() 简介
DOM方法 addEventListener() 和 removeEventListener() 是用来分配和删除事件的函数 这两个方法都需要三个参数 分别为: 事件名称(String) ...
- C# iText 7 切分PDF,处理PDF页面大小
一.itext 我要使用itext做一个pdf的页面大小一致性处理,然后再根据数据切分出需要的pdf. iText的官网有关于它的介绍,https://itextpdf.com/ 然后在官网可以查找a ...
- 4.25JMster环境搭建、webxml及测试平台练习
1.Java环境搭建 右击电脑属性--高级设置--环境变量--系统变量--新建(输入JAVA_HOME.C:\Program Files\Java\jdk1.8.0_91---CLASSPATH..; ...