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

上次我们将dubbo接口与jmeter集成起来,但是jmeter是由java实现的,本身有很多限制,无法实现高并发,我们需要借助分布式来实现大压力测试. 在上次的例子中,我们只是实现了简单的dubbo接口测试,下面我们来实现参数化,我们先创建一个txt,并在里面添加入参及出餐: 添加csv config 修改我们写死的beanshell脚本 在修改脚本之后我们来添加一个beanshell断言 在jmeter里单机运行一下 接下来我们来实现jmeter分布式运行,在实现分布式的时候,我们需要区分两…
最近工作中接到一个需求,需要对一个Dubbo接口进行压力测试,测试其性能,之前一直使用jmeter做压力测试,在踏了好多坑之后,决定把这些记录下来,顺便也希望能帮助到大家. 开始测试之前,我们需要先知道什么是dubbo接口. 一.Dubbo简介 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.其核心部分包含如下几点: 1.远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式:…
本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文件为: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&quo…
目录 1.Dubbo介绍 2.准备测试Dubbo接口的环境 3.Dubbo Sample界面详解 4.Dubbo Sample组件的使用 (1)测试计划内包含的元件 (2)使用zookeeper协议请求Dubbo接口 (3)使用直连的方式请求Dubbo接口 1.Dubbo介绍 (1)Dubbo说明 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 简单的说:Dubbo一个高性能的,基于 Java 的,开源 RPC 框架.所以严格来说,Du…
Jmeter 测试dubbo 接口 1. 安装JMeter 安装到/usr/local下 2. github上下载 jmeter-plugins-dubbo-x.x.x-jar-with-dependencies.jar ​ 将该jar 放到 jmeter安装目录的lib/ext 目录下 ​ 我的jmeter安装位置为/usr/local/apache-jmeter ​ 这样jmeter就支持dubbo协议的请求了 3. 打开jmeter 4. 在 Test Plan下添加一个 线程组 5. 右…
dubbo接口功能介绍 客户端输入uncleyong(当然,也可以是其他字符串),服务端返回hello uncleyong 开发dubbo服务jmeter客户端 idea中创建模块dubbo_jmeter5 默认输入uncleyong,也可以修改这个值 package com.uncleyong.dubbotest; import com.uncleyong.dubbotest.service.SayHelloToClient; import org.apache.jmeter.config.A…
一.Jmeter分布式测试基础 1.Jmeter分布式测试原因: 在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对负载机的CPU和内存消耗比较大.所以当需要模拟数以万计的并发用户时,可能会导致单台负载本身扛不住,出现的瓶颈.为了解决以上的问题,Jmeter提供的分布式功能,同时启动多台电脑进行分布式测试. 2.什么情况下采用分布式测试: 1.在进行压测的过程中如果出现Jmeter未响应,卡住,反应慢等现象.随即启动任务管理器进行查看,如果cup和内存都特别大.就可以说…
在性能测试过程中,如果要求并发数较大时(例如1000+),单机配置cpu与内存等无法支持,则需要使用Jmeter的分布式测试方法. 一.一般什么情况下需要分布式 1.前辈经验:比如机器i5双核的cpu,8g的内存.压测一个简单的接口,可以支持500+的并发.(但是如果压测方案逻辑复杂,比如在jmeter里面加了很多控制器,监听器,这些都是很耗机器性能,这时候可能连100并发都压不上去) 2. 压测过程中如果Jmeter未响应,卡住,反应慢,随即启动任务管理器,如果cup和内存特别大时,则说明单机…
最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈,一般线程加到100左右就会出现工具本身无法支撑的问题,广泛了解解决办法后,发现分布式部署测试机仍是首选方案.   关于如何配置jmeter分布式部署测试机很多博客上已经描述得很详细了,这里就不再赘述,可以参考虫师的博客: http://www.cnblogs.com/fnng/archive/201…
一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent). 2.执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的. 3.执行后,Agent会把结果回传给Controller,Controller会收集所有Agent的信息并汇总. 二.代理机(Ag…
在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave). 2.执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的. 3.执行完成后,…
半年前,用jmeter4.0测试dubbo接口的时候,遇到这样一个问题 An error occurred: org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class errorlevel=1 测试技术群里问了半天,也没答案.从下面的图也可以看出,jar包的依赖关系太复杂了. 根据上面报错的提示,在pom文件中添加了依赖排除,排除了冲突,但是在…
转 : jmeter分布式测试的坑 有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出现:Error in rconfigure() method java.rmi.ConnectException:Connection refused to host:10.10.34.21;nested exception is:java.net.ConnectException:connecti…
在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave). 2.执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的. 3.执行完成后,…
有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出现:Error in rconfigure() method java.rmi.ConnectException:Connection refused to host:10.10.34.21;nested exception is:java.net.ConnectException:connection timed out:conne…
第一坑:启动压力机的时候,直接./jmeter-server,会报如下错误 错误原因:127.0.0.1是本机, 一个回路地址, 没有指定地址 正确的启动方式:启动命令加一个参数, IP地址写压力机对应的地址 ./jmeter-server   -D java.rmi.server.hostname=118.24.178.224 第二坑: 遇到的问题: 启动remote测试后,Agent 机器 收到任务,且控制台显示:”Starting the test on host 192.168.1.13…
之前总结了 jmeter 分布式测试的过程,在部署过程中提到,要在 system.properties 中配置自己的 IP. 至于为什么要这么做,源于这一次 debug 的过程. 运行环境 mint, ubuntu 两台主机作为 master 节点,一台 win server 作为 slave 节点,采用分布式的方式, 对 target 进行测试. 问题 问题很奇怪,以 mint 系统作为 master,调度分布式测试没有问题, $ jmeter -n -t ./test.jmx -R 10.2…
对于并发量很大的需求,如上万并发量,受到CPU和内存的限制,单机模拟场景是实现不了的,为了让JMeter提供更大的负载能力,须使用它的分布式机制,即多台机器同时产生负载的功能. 以下参数分析可用于配置负载分布台数的参考:通常,4G内存最多可达到2000左右的并发量.在1.4G Hz-3GHz 的CPU .1GB 内存的 JMeter 客户端上,可以处理线程 100-300.但是Web Service 例外.XML处理是 CPU 运算密集的,会迅速消耗掉所有的CPU .一般来说,以XML技术为核心…
Jmeter分布式测试需要注意事项: 1. 如果脚本中有用到CSV Data Set Config,则所有的模拟机都必须在相应的目录下存在该文件.如下图,则必须所有模拟机的F盘下都有user.txt文件,否则无法通过分布式启动测试 2. 接#1,每台模拟机上方的CSV Data里面的数据不能相同,否则所有模拟机都会调用相同的值,可能会导致失败.例如user.txt存放的是登录账号,模拟机A的user.txt包含账号A.账号B,模拟机B的user.txt包含账号A.账号B,则在运行时,模拟机A.模…
jmeter分布式测试 说明:1台8核16G的windows2008的机器,只能器6000个线程,否则效果不是很好:并且负载机器需要做如下设置: 1.打开注册表:regedit 2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 3.新建 DWORD值,name:TCPTimedWaitDelay,value:30(十进制) –> 设置为5秒,默认是240秒 4.新建 DWORD值,name:MaxUs…
本文转自:https://www.cnblogs.com/lsjdddddd/p/5806077.html 有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 问题:如果你的服务器名字和报错的时候显示的服务器名不一致(refuse to host:10.10.34.21,而服务器名明明是172.16.129.43) 只要错误中出现:Error in rconfigure() method java…
目录 1.JMeter分布式测试概念 2.JMeter分布式测试前提条件 3.JMeter实现分布式测试 (1)在执行机中的配置 (2)在控制机中的配置 (3)启动执行机中的JMeter服务 (4)在控制机中执行JMeter测试脚本 4.Linux系统作为控制机 5.分布式测试总结 1.JMeter分布式测试概念 (1)什么是分布式测试 分布式测试是指通过局域网和Internet,把分布于不同地点.独立完成特定功能的测试计算机连接起来,以达到测试资源共享.分散操作.集中管理.协同工作.负载均衡.…
目录 1.控制机端 (1)执行机没有关闭防火墙 (2)内存溢出 2.执行机端 (1)启动jmeter-server服务情况一 (2)启动jmeter-server服务情况二 (3)启动jmeter-server服务情况三 3.分布式测试控制机接收不到返回结果 4.参数化问题 5.其他补充 自己在使用JMeter进行分布式测试的时候,遇到了很多的坑.下面总结起来,方便以后查看. 1.控制机端 (1)执行机没有关闭防火墙 在执行机IP+端口号设置正确的情况下,控制机在启动测试计划的时候,出现如下情况…
WebSocket接口需要下载dubbo插件才能使用 本次下载的版本为jmeter-plugins-dubbo-1.3.6,下载完成后jar文件放到\lib\ext目录下 由于工作需要,最近需要对dubbo接口进行测试,查询了很多资料,最后调试通过,记录下 以前也用Jmeter对dubbo接口进行过测试,需要使用java语言编写方法调用dubbo接口,然后创建一个Maven项目,生成依赖的jar包,在把jar包放到Jmeter的lib目录,然后在java类型请求中,就可以看到自定义的java请求…
通过jmeter测试dubbo的方法网上有很多帖子,需要的自己度娘去就可以. 使用的时候有个问题需要提示一下,因为我碰到了,还耽误了一些时间,不说中间的过程.直接说处理方式: 问题是这样的: 将dubbo的consumer打包后,将consumer的依赖包放到jmeter的lib目录下,然后运行的时候,依赖报错很多.将重复的包删除重复的版本之后,还是有各种报错.总之,跑不起来! 解决方式:根据自己的jmeter版本,正确填写pom文件中对jmeter的依赖. 比如,最新的jmeter是4.0的版…
很多小伙伴都反映公司要求测dubbo(dubbo是一个java的分布式开源框架)接口,不会写java代码,怎么测,能不能用python来调dubbo接口.当然是可以的了,最近研究了一下,很简单,分享给大家.     关于dubbo这个框架咱就不过多描述了,开发用,咱们只关注怎么调用就行了,想了解原理的可以看下这篇文章 http://www.cnblogs.com/Javame/p/3632473.html     Dubbo 本身支持多种远程调用方式,例如Dubbo RPC(二进制序列化 + t…
首先非常感谢虫师的文章受益匪浅 http://www.cnblogs.com/fnng/category/345478.html 今天,花了半天时间进行分布式的测试,真是纠结啊!! RT 1.在公司用JMETER无路如何要让控制机还有代理机在同一个网段上 2.即使违反某些公司的规定,也要关闭防火墙!! 这两样做到了,基本上分布式测试就完成了百分之九十了!!我不唬你们的!!我花了两天时间了. 呜呜.测试新人.请大家多多赐教. 联系方式: 新浪微博:娇娇的无我 QQ:837955487 大家多交流哈…
jmeter分布式部署其实很简单.但今天测试的时候发现了一个坑,远程连接一直失败. 原因:服务器上部署了slave,而这台服务器上有多个网卡.举个例子:ip分别为:192.168.100.6,10.1.2.6,jmeter-server.bat运行后默认网卡(10.1.2.6)和master(192.168.100.11)并不在同一网段,所以导致连接失败. 解决方案:指定slave的ip,让slave和master在同一网段. 1.修改slave  jmeter.bat文件 新增set rmi_…
JMeter分布式环境,一台Master,一到多台Slave,Master和Slave可以是同一台机器. 前提条件: 所有机器,包括master和slave的机器: 1.运行相同版本的JMeter 2.使用相同的java版本 3.有基于SSL的RMI的有效密钥库,或者禁用SSL.(本文举例中是采用的禁用SSL) 4.都在一个网络 5.关闭防火墙 三种情形举例: 每种情形按照以下方式配置好之后,需要在slave的机器上启动jmeter-server.bat,在master机器上启动JMeter的界…
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 为什么要做分布式 Jmeter 本身的局限性 一台压力机的 Jmeter 默认最大支持 1000 左右的并发用户数(线程数),再大的话,容易造成卡顿.无响应等情况,这是受限于 Jmeter 其本身的机制和硬件配置(内存.CPU等) 由于 Jmeter 是 Java 应用,对 CPU 和内存的消耗较大,在需要模拟大量并发用户数时,单机很容…