zoukankan      html  css  js  c++  java
  • Jmeter+jenkins接口性能测试平台实践整理(一)

    最近两周在研究jmeter+Jenkin的性能测试平台测试dubbo接口,分别尝试使用maven,ant和Shell进行构建,jmeter相关设置略。

    一、Jmeter+jenkins+Shell+tomcat

    安装Jenkins,JDK,tomcat,并设置环境变量,安装在Jenkins中performance-plugin插件。

    1.准备测试脚本和测试数据,拷贝至Jenkins的workspace的对应的项目工作目录下:

    2.Jenkins设置

    1)添加构建参数

    2)构建脚本

    ##!/bin/bash
    REPORT_TIME=`date '+%Y%m%d%H%M%S'`
    jmeter_basedir=/home/apache-jmeter-3.0
    report_icon=$jmeter_basedir/extras/collapse.png
    basedir=/var/lib/jenkins/workspace/jmeter_Param
    report_jtl=$basedir/report/jtl
    report_html=$basedir/report/html

    echo "starting..."
    #脚本参与引入通过构建参数引入
    echo $threadCount
    echo $rampUp
    echo $durationTime
    echo $sleepTime1
    echo $sleepTime2
    #删除多余的jtl
    cd $report_jtl
    rm -f *.jtl

    cd $basedir
    for v1 in $(ls *.jmx)
    do
    # REPORT_TIME=`date '+%Y%m%d%H%M%S'`
    # TestReport=`ls $v1|sed 's/.jmx//g'`
    # echo $TestReport
    cd $jmeter_basedir/bin
    sh jmeter.sh -JthreadCount=$threadCount -JRampUp=$rampUp -JDurationTime=$durationTime -n -t $basedir/$v1 -l $report_jtl/TestReport_$REPORT_TIME.jtl &
    # >~/logs.log &
    # xsltproc $jmeter_basedir/extras/jmeter-results-detail-report_21.xsl $report_jtl/TestReport_$REPORT_TIME.jtl > $report_html/TestReport_$REPORT_TIME.html
    # sed -i "s/date not defined/$REPORT_TIME/g" grep “date not defined" -l $report_html/TestReport_$REPORT_TIME.html
    # if [! -f "$report_icon"];then
    # cp $jmeter_basedir/extras/collapse.png $jmeter_basedir/extras/expand.png $report_html
    # fi
    # if [! -d "$report_jtl"];then
    # cd $WORKSPACE/report && mkdir jtl
    # fi
    sleep $sleepTime1
    #for id in $(ps -ef|grep jmeter|grep -v grep|awk '{print $2}')
    #do
    #echo $id
    #kill -9 $id
    #done
    #sleep 5
    done &
    sleep $sleepTime2
    xsltproc $jmeter_basedir/extras/jmeter-results-detail-report_21.xsl $report_jtl/TestReport_$REPORT_TIME.jtl > $report_html/TestReport_$REPORT_TIME.html &
    sleep 20
    cp $report_jtl/TestReport_$REPORT_TIME.jtl $basedir/report/jtl2
    cp $report_html/TestReport_$REPORT_TIME.html $basedir/report/html2
    #for id1 in $(ps -ef|grep JMeter|awk '{print $2}')
    #do
    #echo $id1
    #kill -9 $id1
    #done
    echo "ending..."

    3)构建后操作

    4)保存并构建成功后,在workspace中查看jtl和html结果。

    关于dubbo接口性能脚本编写,jar包导出,html模版修改,请参考前期文章。

  • 相关阅读:
    对NETIF_F_GSO的一些理解
    关于ptype_all和pypte_base中的pt_prev的说明[转]
    linux网络收包过程
    linux的pci驱动模型
    linux内核的冷热页分配器
    linux的bootmem内存管理
    GitHub 下载代码命令并且导入到IDEA环境
    配置Log4j(非常具体)
    sudo:有效用户 ID 不是 0,sudo 属于 root 并设置了 setuid 位吗?
    RMP和YUM软件安装
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/6040475.html
Copyright © 2011-2022 走看看