首页 > 其他分享 >jmeter+nmon+crontab简单的执行接口定时压测

jmeter+nmon+crontab简单的执行接口定时压测

时间:2024-03-05 16:35:29浏览次数:19  
标签:脚本 nmon 压测 接口 绝对路径 编写 jmeter

临时接到任务要对系统的接口进行压测,上面的要求就是:压测,并发2000

在不熟悉系统的情况下,按目前的需求,需要做的步骤:

  1. 需要有接口脚本
  2. 需要能监控系统性能
  3. 需要能定时执行脚本

二、观察

>针对第一点:接口脚本

需要观察系统接口的情况:
  • 系统使用swagger文档编辑接口,这很好,可以直接引用
  • 系统内关联接口熟悉,将需要的参数设置成变量以便调用
  • 系统内的接口返回状态很规范,可以直接判断code&message

综上,为了效率,选择现存的开源工具执行(针对该开源工具的要就是可以使用命令行执行:jmeter)【备注:因为要定时执行】

>针对第二点:监控系统性能

观察系统服务器:
  • 系统为Linux
  • Linux上的监控工具很多,要求是可以输出到文件并可对该文件进行分析
  • 或者,可以自己编写shell脚本监控获取信息,比如:top【为了效率,选择一款自主搭配即可(当前选择:nmon)】

>针对第三点:定时执行脚本

观察脚本即将存放并执行的系统
  • Linux系统自带crontab命令可执行定时任务

三.编写

> 编写步骤:

1.使用jmeter编写接口脚本,并增加压测线程数,并编写启动脚本:StartJmx.sh

source /etc/profile
rm -rf ****.jtl
/绝对路径/jmeter  -n -t /绝对路径/debugTest.jmx -l /绝对路径/****.jtl
sleep 10
nmonpid=`ps -ef | grep nmon | awk '{print $2}'`
kill -9 ${nmonpid}
 

2.服务器上安装nmon,并编写启动脚本:StartNmon.sh

#每5秒采集一次,采集120次,共10分钟的数据
nohup nmon -f -T -s 5 -c 120 -m /绝对路径文件夹  & echo $! > nmonpid

3.编写定时脚本

0 15 * * * sh /绝对路径/StartNmon.sh
0 15 * * * sh /绝对路径/StartJmx.sh

四.综述

>以上除开jmeter脚本编写,其他编写时间不超过1小时

  • 当任务来临的时候,不要慌张不要拒绝,先和对接人沟通相应的事宜,明确需求
  • 需求明确之后,请思考实现方式,方式总是多种多样的,或请教前辈或上网求解
  • 临时任务的重点均在于效率,这个前置条件给出的宽裕就是:你不需要把方案做的很完美,能得出结论即可
  • 方案可后续再改良~

总结

最后如果你想学习软件测试和需要软件测试资料,欢迎加入笔者的交流群:731789136,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

搜索

复制

标签:脚本,nmon,压测,接口,绝对路径,编写,jmeter
From: https://www.cnblogs.com/nhb1234/p/18054326

相关文章

  • 使用JMeter的JSON提取器:通过递归下降查找,从接口响应中提取特定字段
    在接口测试中,我们经常需要从返回的JSON数据中提取特定字段以便后续使用。JMeter提供了JSON提取器,可以帮助我们实现这一目标。本文将介绍如何使用JMeter的JSON提取器通过递归下降查找的方式从接口响应中提取特定字段,并通过示例解释JSON表达式中".."的逻辑。1.示例接口响应......
  • JMeter分布式安装和HTTP
    JMeter分布式安装分布式JMeter环境主要由一个JMeter控制器(Control)和多个JMeter代理(Agent)组成。被测试的计算机JMeter控制器为控制计算机,JMeter代理为工作计算机。现在每台计算机上安装JMeter。在每太运行JMeter代理的计算机中打开%JMETER_HOME%\bin\jmeter.properties文件。修改se......
  • 接口写完想快速压力测试?试试Apipost一键压测功能
    背景研发同学在调试完成某些接口后需要验证一下高并发情况下的接口运行情况。这时候必须得跟测试同学协调一下,但这来来回回也有点麻烦,而实际上,这个工作量并不算太大。所以Apipost也是推出了一键压测功能来解决这个痛点场景。这篇文章给大家介绍Apipost的一键压测功能。使用方法......
  • PTS 3.0:开启智能化的压测瓶颈分析
    作者:拂衣PTS简介性能测试PTS(PerformanceTestingService)是阿里云上一款简单易用,具备强大的分布式压测能力的SaaS压测平台。PTS可以模拟复杂的业务场景,并快速精准地调度不同规模的流量,同时提供压测过程中多维度的监控指标和日志记录。用户无需准备资源,即可按需发起压测任务......
  • jmeter 脚本录制
    1、添加HTTP代理服务器添加->非测试元件->HTTP代理服务器2、设置端口号:8888(可以随意填写)设置目标控制器:选择第一步新建的代理服务器3、设置过滤录制过程中其他的信息选择排除模式填写:..(bmp|css|js|gif|icov|jpeg|png|swf|woff|woff2|htm|html).4、启动服务点启动,点确......
  • Jmeter 集合点详细讲解
    转载自:https://blog.csdn.net/qq_36350532/article/details/80622349=========================== 集合点:让所有请求在不满足条件的时候处于等待状态。如:我集合点设置为50,那么不满足50个请求的时候,这些请求都会集合在一起,处于等待状态,当达到50的时候,就一起执行。从而达到并发......
  • jmeter下载安装过程
    下载jmeter下载地址:https://jmeter.apache.org/download_jmeter.cgi#binarieswindows下载zip包,linux下载tgz包  安装过程:解压缩zip文件 jmeter.bat文件双击打开;jmeter.sh为Linux系统的启动文件。 jmeter-server:当前机器作为远程负载机时需要启动。 环境变量配置:......
  • 压测
    压测的目的新服务,无预估目标,需要通过压测得到服务基准数据或找到系统瓶颈进行优化有明确的压测目标,需要通过压测确定服务的各项指标是否达标常态化压测,为后期性能优化指导方向或提供参考依据压测关注的常用指标备注:并不一定都需要关注,根据业务考虑指标的细化粒度QPS:Query......
  • 【性能测试】【redis】jmeter实现对redis查询写入压测
    一、jmeter安装RedisDataSet插件首先,我们下载jmeter-plugins-manager-1.6.jar文件,放到jmeter的lib的ext文件夹中,然后重启jmeter。然后,在‘选项’菜单下,点击‘pluginmanager’,打开插件管理弹窗,选择‘AvailablePlugins’,在搜索框中,输入redis然后,选中‘RedisDataSet’,点击......
  • jmeter_BeanShell脚本&通过BeanShell进行加解密方法
    BeanShell脚本BeanShell简介:BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;BeanShell是一种松散类型的脚本语言;BeanShell是用Java写成的,一个小型的、免费的、可以下载、嵌入式的Java源代码解释器,具有对象脚本的特性;BeanShell可以执行标准J......