记一次在linux下对接口进行Jmeter 压测过程

2024-05-31 06:08

本文主要是介绍记一次在linux下对接口进行Jmeter 压测过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求: (1)在linux下发送http请求

            (2)从两个csv文件中读取不同的数据进行压测。

 

1、添加Jmeter测试计划

      

 

 

 

具体每个参数的含义,参看我的另外一篇博文JMeter的使用(完成一次简单的测试计划)

保存之后是.jmx文件。将.jmx文件和.csv文件(数据)上传到Linux下,注意.csv文件的路径

在jmeter的bin目录下执行 $jmeter -n -t ***.jmx -l log.jtl就可以执行这次测试计划。

参数说明:

      -n表示以nogui方式运行测试计划

     -t表示测试计划,后面跟测试计划名称

     -l表示测试结果,后面跟测试结果文件名称

结果说明:

     

 

2、由于我们要不停的修改并发数,可以在***.jmx文件中进行修改。但是每次都要打开文件修改比较麻烦,我们可以通过shell脚本来实现:通过输入参数来修改并发数。

      

         

那么我们现在就可以通过$sh run.sh 并发数  命令来执行测试计划了。

在压测的过程中,还可以通过top -p Pid 来查询某个进程信息,同时使用vmstat命令来观察测试情况。

 

如:通过端口号来查找进程命令:$ netstat -anp | grep 8088

       显示指定的进程信息: $top -p Pid

       查看整个机器的cpu、内存,IO信息:$vmstat 2 

 

附:Jmeter命令行选项:

 

   JMeter在windows系统下启动的是一个Swing GUI界面,也可以在Linux/Unix系统中作为一个命令使用。调用JMeter的 “jmeter -?”命令将打印所有命令选项的一个列表。列表如下: 
-h, --help 打印使用信息并退出
-v, --version 打印版本信息并推出
-p, --propfile {argument} 使用的JMeter属性文件
-q, --addprop {argument} 附加的属性文件
-t, --testfile {argument} 运行的jmeter测试文件(.jmx)
-l, --logfile {argument} 日志取样文件
-n, --nongui 非用户界面运行JMeter
-s, --server 运行JMeter服务器
-H, --proxyHost {argument} 设置JMeter使用的代理服务器
-P, --proxyPort {argument} 设置JMeter使用的代理服务器端口
-u, --username {argument} 设置JMeter使用的代理服务器用户名
-a, --password {argument} 设置JMeter使用的代理服务器密码
-J, --jmeterproperty {argument}={value} 定义附加的jmeter属性
-D, --systemproperty {argument}={value} 定义附加的System属性
-S, --systemPropertyFile {filename} 一个属性文件被做为系统属性添加
-L, --loglevel {argument}={value} 定义日志等级: [category=]level 例如jorphan=INFO or jmeter.util=DEBUG
-r, --runremote 从非用户界面模式启动远程服务器
-d, --homedir {argument} 使用的JMeter目录
-j,--jmeterlogfile {argument} the jmeter log file
-G,--globalproperty (argument)[=value] 定义一个JMeter属性并发往所有远程服务器。如:-Gport=123、-Gglobal.properties
-R,--remotestart serverl,... (non-GUI only) 在指定远程服务器上运行
-X,--remoteexit Exit the remote servers at end of test (non-GUI)

 

 

 

 

 

 

 

 

 

 

 

 

这篇关于记一次在linux下对接口进行Jmeter 压测过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017488

相关文章

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

Linux之UDP和TCP报头管理方式

《Linux之UDP和TCP报头管理方式》文章系统讲解了传输层协议UDP与TCP的核心区别:UDP无连接、不可靠,适合实时传输(如视频),通过端口号标识应用;TCP有连接、可靠,通过确认应答、序号、窗... 目录一、关于端口号1.1 端口号的理解1.2 端口号范围的划分1.3 认识知名端口号1.4 一个进程

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

Linux权限管理与ACL访问控制详解

《Linux权限管理与ACL访问控制详解》Linux权限管理涵盖基本rwx权限(通过chmod设置)、特殊权限(SUID/SGID/StickyBit)及ACL精细授权,由umask决定默认权限,需合... 目录一、基本权限概述1. 基本权限与数字对应关系二、权限管理命令(chmod)1. 字符模式语法2.

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Django HTTPResponse响应体中返回openpyxl生成的文件过程

《DjangoHTTPResponse响应体中返回openpyxl生成的文件过程》Django返回文件流时需通过Content-Disposition头指定编码后的文件名,使用openpyxl的sa... 目录Django返回文件流时使用指定文件名Django HTTPResponse响应体中返回openp

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k