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

一、概述

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

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

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

二、观察

>针对第一点:接口脚本

需要观察系统接口的情况:

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

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

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

观察系统服务器:

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

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

观察脚本即将存放并执行的系统

  • Linux系统自带crontab命令可执行定时任务

三.编写

> 编写步骤:

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

python 复制代码
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小时

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
可爱系程序猿2 小时前
WSD 打印机时好时坏:从发现服务、地址变化到 Standard TCP/IP 端口的迁移记录
网络·网络协议·tcp/ip·程序人生·电脑
June bug4 小时前
【HCIA- AI(正课)】3.1.人工智能业务流程
职场和发展
梧桐凰5 小时前
AI 时代测试工程师的武器库:实战工具指南
人工智能·功能测试·测试用例
颜挺锐5 小时前
如何轻松通过性能测试面试之第十一篇:如何判断应用的最大处理能力
面试·职场和发展
DeepAgent6 小时前
AI Agent 面试篇(01):AI 岗位面试到底怎么走——从网申到 Offer 的完整流程
人工智能·面试·职场和发展
郝学胜-神的一滴8 小时前
Effective Python 条款 13:善用星号解包,告别下标切片拆分的坑
服务器·开发语言·数据结构·python·程序人生·pycharm
2501_9381400711 小时前
课堂录音AI总结工具实测:上课录音转笔记,哪款更好用?
职场和发展
顶点多余12 小时前
9.15 面试问题总结(一面挂)
linux·面试·职场和发展
郝学胜-神的一滴12 小时前
C++20模板元编程 02:吃透模板基础核心四大核心知识点
开发语言·数据结构·c++·程序人生·软件工程·visual studio
de之梦-御风13 小时前
【未来】.NET 开发在「劳动价值重估」下的定位与走向
职场和发展·.net