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


    一、概述

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

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

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

    二、观察

    >针对第一点:接口脚本

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

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

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

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

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

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

    三.编写

    > 编写步骤:

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

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

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

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

    3.编写定时脚本

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

    四.综述

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

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

    最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    在这里插入图片描述

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

  • 相关阅读:
    6.5黄金行情分析
    LLM之RAG理论(十)| RAT:一种协同CoT和RAG的 AI 提示策略,助力解决长任务推理和生成
    概念题总结
    ptp协议相关术语
    Android开发跳槽面试,向大厂更进一步
    maven仓库的地址
    【数据挖掘】搜狐公司数据挖掘工程师笔试题
    刷题日记【第十五篇】-笔试必刷题【有假币+求正数数组的最小不可组成和+最难的问题+因子个数】
    【毕业设计】Stm32单片机的音乐播放器设计 - 物联网 嵌入式
    市政管理学考试试题及答案
  • 原文地址:https://blog.csdn.net/nhb687096/article/details/133926277