热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Jmeter(五十四)–从入门到精通高级篇–如何在linux系统下运行jmeter脚本–上篇(详解教程)

1.简介 上一篇宏哥已经介绍了如何在Linux系统中安装Jmeter,想必各位小伙伴都已经在Linux服务器或者虚拟机上已经实践并且都已经成功安装好了,那么今天宏哥就来介绍一下如何

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命令的当前目录中生成。(这点要注意一下)





    感谢您花时间阅读此篇文章,如果您觉得这篇文章你学到了东西也是为了犒劳下博主的码字不易不妨打赏一下吧,让博主能喝上一杯咖啡,在此谢过了!

    如果您觉得阅读本文对您有帮助,请点一下左下角“推荐”按钮,您的将是我最大的写作动力!另外您也可以选择【关注我】,可以很方便找到我!

    本文版权归作者和博客园共有,来源网址:https://www.cnblogs.com/du-hong 欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利!

个人微信公众号

个人微信



推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文介绍了如何在具备多个IP地址的FTP服务器环境中,通过动态地址端口复用和地址转换技术优化网络配置。重点讨论了2Mb/s DDN专线连接、Cisco 2611路由器及内部网络地址规划。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 创建第一个 MUI 移动应用项目
    本文将详细介绍如何使用 HBuilder 创建并运行一个基于 MUI 框架的移动应用项目。我们将逐步引导您完成项目的搭建、代码编写以及真机调试,帮助您快速入门移动应用开发。 ... [详细]
  • 梦幻西游挖图奇遇:70级项链意外触发晶清诀,3000W轻松到手
    在梦幻西游中,挖图是一项备受欢迎的活动,无论是小宝图还是高级藏宝图,都吸引了大量玩家参与。通常情况下,小宝图的数量保证了稳定的收益,但特技装备的出现往往能带来意想不到的惊喜。本文讲述了一位玩家通过挖图获得70级晶清项链的故事,最终实现了3000W的游戏币逆袭。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
author-avatar
大师兄v断水流
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有