• jenkins +Jmeter 完成分布式性能测试


    1.Jmeter 压测机器配置。

       下载Jmeter 版本:https://jmeter.apache.org/download_jmeter.cgi   我下的是5.1.1

                将下载后的版本进行解压。

                运行 ..apache-jmeter-5.1.1injmeter.bat

                如果没有安装Java环境会提示安装Java环境
       下载Jave版本: https://www.java.com/en/download/win10.jsp

        Jmeter 5.1.1 版本要求Jave 8 +,所以需要安装Jave 8以上的版本。

        安装后Java 环境后再次运行 Jmeter.bat 就可以打开Jmeter GUI 界面了。如下:

        

    2.Jmeter 分布式远程执行机器配置

       运行 Jemter-Server.bat

        如果出现如下错误,是因为没有找到 rmi_keystore.jks 文件,默认远程链接是需要通过ssl 通道的。

       

       如果对于安全级别没有要求,则可以设定不需要通过SSL连接远程Server。

       需要修改jmeter.properties 文件,将server.rmi.ssl.disable=true

       # Set this if you don't want to use SSL for RMI
        server.rmi.ssl.disable=true

       如下:

      

      这样执行 Jmeter-server.bat 就不会出现错误了。

      

    3.配置控制机器

       远程机器配置好之后,在控制机器上进行设置:

        修改jmeter.properties 文件,找到 Remote hosts and RMI configuration 段,在remote_hosts 后面添加远程执行机

    # Remote hosts and RMI configuration
    #---------------------------------------------------------------------------

    # Remote Hosts - comma delimited
    #remote_hosts=127.0.0.1
    remote_hosts=jp-lsr-montage:1099,Montage-t2-ck:1099,montage-test3:1099

        上述配置完成后,在控制机器上启动Jmeter.bat进行测试。

        选择一个项目,使用run->Remote Start 中的远程机器,一台一台测试看执行机器是否就绪。   

        

         如果执行机器正常运行,我们的Jmeter 部分就配置好了。

    4.Jenkins 配置

       1. 新建一个Freestyle project 项目。

       2. 配置Office 365 Connector  Tab

          2.1 选择 This project is parameterized

           设置 num_threads  和 filename 变量。

      

        2.2选择 Restict where this project can be run

        设置脚本运行的机器,对于我们来书就是控制机器名称 .我使用了 jp-lsr-montage 机器。

        需要将这个机器配置为Jenkins  Agent。

      3. 配置Build

          我们上面配置了连个build 参数,它们的使用地方就在Build 的命令中,通过这两个参数我们可以在每次build 的时候来指定运行文件和线程数。

           对于windows batch command  参数格式:%branch%  linux shell:$branch git 引用参数:${branch}

           

       

        通过上面的设置可以将Build 参数传递给Jmeter 命令行,要在Jmeter 运行时从命令行读取参数,还需要修改Jmeter 工程文件。

        如下:在需要使用变量的地方通过 ${__P(num_threads,1)} 来读取命令行中的变量。

    通过命令行传递参数

     -G, --globalproperty (argument)[=(value)]
    发送给server的全局属性,可以把属性及值填入global.properties,之后使用-Gglobal.properties

    例子: jmeter -n -t c:JmetermontageEventApply.jmx -o result -l result.jtl -e -r -Gnum_threads=3

    Jmeter 界面的设置:

     4.配置Post-Build Actions

         需要安装HTML Publisher插件。

         

          配置Publish HTML reports

       

        再安装一个插件performance

        

         配置 Publish  Performance test result report

         

     5.Jenkins Agent 配置

        我们在2.2 中使用 jp-lsr-montage这个Agent , 那么如何配置Agent 呢?

        Jenkins -->Mange Jenkins --> Mange Nodes 

        

           

     选择New node

     进行如下配置,并保存:

     2.登录jp-lsr-montage 机器,访问Jenkins 服务器。

                选择 Agent jp-lsr-montage ,选择launch ,这样就配置好 jp-lsr-montage Agent了。

                如果担心Agent机器重启后Agent 离线,可以考虑将Agent 安装为 Windows Service。 具体安装方法可以参考Jenkins Agent 配置。

                

               

  • 相关阅读:
    三道趣味题目
    iOS开发中使用静态库 .a 文件
    java Graphics2D 画图
    堆和栈的区别
    iOS开发中KVC、KVO简介
    GPUImage的简单使用
    OC中 self.view.frame.size.height = 100; 不能通过编译的原因
    Xcode7 低版本iOS系统上下有黑边的问题
    c语言数组赋值
    ELF interpreter /libexec/ld-elf32.so.1 not found
  • 原文地址:https://www.cnblogs.com/xixiuling/p/11197291.html
Copyright © 2020-2023  润新知