上次我们将dubbo接口与jmeter集成起来,但是jmeter是由java实现的,本身有很多限制,无法实现高并发,我们需要借助分布式来实现大压力测试。

在上次的例子中,我们只是实现了简单的dubbo接口测试,下面我们来实现参数化,我们先创建一个txt,并在里面添加入参及出餐:

添加csv config

修改我们写死的beanshell脚本

在修改脚本之后我们来添加一个beanshell断言

在jmeter里单机运行一下

接下来我们来实现jmeter分布式运行,在实现分布式的时候,我们需要区分两个概念,控制端(Controller)和远程执行端(server_slave)。很简单,控制端用来控制脚本执行,而实际的执行由远程执行端来运行。

在配置客户端与远程执行端之前,我们需要在每个安装jmeter的机器上配置jdk环境变量与jmeter环境变量。

Jdk环境变量:

右键计算机属性---》高级系统设置---》环境变量---》

变量名:JAVA_HOME

变量值:C:Program FilesJavajdk1.8.0_91 (即jdk安装的位置)

变量名:Path (这个变量名已在系统变量中存在,现只需在这个值的后面添加以下变量值就可以了)

变量值:;%JAVA_HOME%in;%JAVA_HOME%jrein;

变量名:CLASSPATH

变量值:.;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;(记住前面的.)

打开cmd,输入java -version 回车,如果输出版本信息则安装成功,提示不是内部或外部命令则表示没有安装成功,可留言或自行百度解决。

Jmeter 安装

由于此软件是绿色版本,所以可解压在任意位置使用,解压后打开Jmeter目录.

右键计算机属性---》高级系统设置---》环境变量---》

变量名:JMETER_HOME

变量值:C:Program Filesapache-jmeter-3.2

变量名:Path (在后面添加以下变量值)

变量值:;%JMETER_HOME%in;

变量名:CLASSPATH

变量值:

%JMETER_HOME%libextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;

同样的,在cmd里运行jmeter,如果出现以下画面,就证明配置正确。

配置server_slave,在server slave上的jmeter/bin下面打开jmeter.properties

可以通过修改server port 为server slave修改监听端口

配置controller,打开controller上的jmeter/bin文件夹下的jmeter.properties

配置好之后,我们先启动server slave

在启动server slave的时候有时候会发现以下报错

在这里我们有两种解决方式

1, 在所有jmeter上进行设置,打开jmeter.properties,修改server.rmi.ssl.disable=true并打开配置

2,在各个jmeter端实现加密,双击运行jmeter/bin 下的create-rmi-keystore.bat

在启动之后,会询问很多问题,问什么回答什么就行

最后一步输入Y生成秘钥,将成功生成的秘钥rmi_keystore.jks 复制到每台jmeter上

通过以上两种方式,可以正常启动server slave与controller。

启动server slave

启动controller 端,并打开之前编写的测试dubbo的脚本。

点击在远端运行

这样,我们的jmeter分布式测试dubbo接口就实现了(过程中牵扯到所有代码以及文件都可以在GitHub上下载到https://github.com/chrisblue0605/dubboSample),希望能帮助到大家。

作  者:Testfan Chris

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

Jmeter分布式测试dubbo接口2的更多相关文章

  1. Jmeter分布式测试dubbo接口1

    最近工作中接到一个需求,需要对一个Dubbo接口进行压力测试,测试其性能,之前一直使用jmeter做压力测试,在踏了好多坑之后,决定把这些记录下来,顺便也希望能帮助到大家. 开始测试之前,我们需要先知 ...

  2. jmeter测试dubbo接口

    本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文 ...

  3. 『动善时』JMeter基础 — 52、使用JMeter测试Dubbo接口

    目录 1.Dubbo介绍 2.准备测试Dubbo接口的环境 3.Dubbo Sample界面详解 4.Dubbo Sample组件的使用 (1)测试计划内包含的元件 (2)使用zookeeper协议请 ...

  4. JMeter测试dubbo接口总结

    Jmeter 测试dubbo 接口 1. 安装JMeter 安装到/usr/local下 2. github上下载 jmeter-plugins-dubbo-x.x.x-jar-with-depend ...

  5. jmeter5.1测试dubbo接口

    dubbo接口功能介绍 客户端输入uncleyong(当然,也可以是其他字符串),服务端返回hello uncleyong 开发dubbo服务jmeter客户端 idea中创建模块dubbo_jmet ...

  6. Jmeter分布式测试实战

    一.Jmeter分布式测试基础 1.Jmeter分布式测试原因: 在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对负载机的CPU和内存消耗比较大.所以当需要模拟数以万计的并 ...

  7. Jmeter分布式测试笔记

    在性能测试过程中,如果要求并发数较大时(例如1000+),单机配置cpu与内存等无法支持,则需要使用Jmeter的分布式测试方法. 一.一般什么情况下需要分布式 1.前辈经验:比如机器i5双核的cpu ...

  8. 【Fine原创】JMeter分布式测试中踩过的那些坑

    最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈, ...

  9. jmeter分布式测试教程和远程的代理机无法连接网络的问题解决方法

    一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent). 2.执行时,Controller会把脚本发送到每台A ...

随机推荐

  1. 对保存的参数checkpoints进行可视化读取 1.pywrap_tensorflow.NewCheckpoint(获得checkpoint的读取器) 2.np.save(对npy文件进行保存) 3.tl.file.load_npy_to_any(对保存的npy文件进行读取)

    1. pywrap_tensorflow.NewCheckpoint(path)获得checkpoint的读取器 参数说明: path表示checkpoint的路径 2.np.save(path, d ...

  2. 代码实现:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n

    import java.util.Scanner; //编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n public ...

  3. idea -- spring datasource配置文件不显示datasource.properties文件对应属性的值,错误提示cannot resolve property key

    原文:https://yq.aliyun.com/articles/657711 点击 文件 顶部的 蓝色 MVC application context,修改为Local File

  4. 113路径总和II

    题目: 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 来源: https://leetcode-cn.com/problems/path-sum-ii/ 法一: ...

  5. 替换RTXLogo插件说明

    一.包含Logo图标文件介绍 (一)桌面图标包含在RTX.exe (二)桌面右下角图标包含在MainFrameRes.dll (三)RTX设置图标包含在Config.dll (四)查看用户信息图标包含 ...

  6. 从git上pull下的代码,执行时提示:ModuleNotFoundError: No module named '......',解决方法如下:

    方法一: 如果没有安装,如下: 1.PyCharm : file-> setting->Project interpreter–>package2.右侧有个+ 点击3.进入后 搜索p ...

  7. Docker 镜像的操作

    1. 从docker 镜像仓库获取镜像 docker pull  [镜像名] 从 docker hub 中查看版本 获取 特定版本  docker pull centos 7.6.1801 2.    ...

  8. centos6/7如何通过命令挑选出IP地址

    ifconfig ens33 |sed -n '2p'|sed 's/^.*intet //;s@ netmask.*$@@  直接挑出IP地址 选择第二行打印, ifconfig ens33|sed ...

  9. 零基础学习前端1-1配置node及npm环境变量

    零基础学习前端1-1配置node及npm环境变量 ## 1-1配置node及npm环境变量 首先:下载node 可以直接去官方网站下载 1.首先从官网下载安装包 https://nodejs.org/ ...

  10. 图片水印处理-temp

    /media/watermark 简要描述: 用户注册接口 应用场景:比较复杂的水印处理,如需要多次添加水印,或者水印图片本身也需要处理,如果处理相对简单,java项目可以通过dubbo接口Image ...