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


    一.概述

    临时接到任务要对系统的接口进行压测,上面的要求就是:压测,并发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小时

    • 当任务来临的时候,不要慌张不要拒绝,先和对接人沟通相应的事宜,明确需求
    • 需求明确之后,请思考实现方式,方式总是多种多样的,或请教前辈或上网求解
    • 临时任务的重点均在于效率,这个前置条件给出的宽裕就是:你不需要把方案做的很完美,能得出结论即可
    • 方案可后续再改良~
  • 相关阅读:
    如何提高技术素养
    spoolsv.exe 无法启动
    太阳高度角和方位角的计算
    树莓派 3 alsa 声卡驱动
    PHP 7 Xdebug 深深的坑
    java 线性规划 和lingo 比较
    Python Microsoft Visual C++ Compiler Package for Python 2.7
    Node debug
    angular 调试 js (分 karms protractor / test e2e unit )
    hbase scan 的例子
  • 原文地址:https://www.cnblogs.com/VVsky/p/11315103.html
Copyright © 2020-2023  润新知