一.   测试脚本编写 脚本可参考git项目: https://github.com/aland-1415/dubbo-interface-test.git 1. pom依赖 (注意添加的jmeter版本要与运行时使用的版本一致,这里使用的是3.1版本) <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>…
本文讲解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…
WebSocket接口需要下载dubbo插件才能使用 本次下载的版本为jmeter-plugins-dubbo-1.3.6,下载完成后jar文件放到\lib\ext目录下 由于工作需要,最近需要对dubbo接口进行测试,查询了很多资料,最后调试通过,记录下 以前也用Jmeter对dubbo接口进行过测试,需要使用java语言编写方法调用dubbo接口,然后创建一个Maven项目,生成依赖的jar包,在把jar包放到Jmeter的lib目录,然后在java类型请求中,就可以看到自定义的java请求…
目录 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接口/性能测试 dubbo简介 zookeeper简介.安装及配置 dubbo服务端demo dubbo客户端调用 jmeter工程改造及接口调用 读取jmeter参数用于dubbo性能测试 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 其核心部分包含: 远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式 集群容错:提供基于接口方法的透明远程过程调用,包括多协议…
当前项目中重构了消息服务,需要对消息服务接口做性能压测,评估消息服务的性能情况 通过和开发对接,目前消息服务是通过dubbo接口对内提供服务,所以才有了这边文章的记录 最初的压测这个dubbo接口有三种思路: 1.第一种就是基于业务,比如注册业务,注册成功后,会发送短信消息到用户手机,通过业务调用消息服务,最容易实现,但是业务瓶颈最大导致测试结果不准 2.第二种是通过将dubbo接口上面做一层包装,提供一个http接口访问dubbo接口,需要提供二次开发,需要时间,而且高并发下,需要部署在tom…
通过jmeter测试dubbo的方法网上有很多帖子,需要的自己度娘去就可以. 使用的时候有个问题需要提示一下,因为我碰到了,还耽误了一些时间,不说中间的过程.直接说处理方式: 问题是这样的: 将dubbo的consumer打包后,将consumer的依赖包放到jmeter的lib目录下,然后运行的时候,依赖报错很多.将重复的包删除重复的版本之后,还是有各种报错.总之,跑不起来! 解决方式:根据自己的jmeter版本,正确填写pom文件中对jmeter的依赖. 比如,最新的jmeter是4.0的版…
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…
建立JAVA项目 建立maven项目,加入Jmeter所需要的JAR包依赖. POM.xml  加入如下: <dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_core</artifactId> <version>3.2</version> </dependency> <!-- https://mvnrepo…
最近在用Jmeter本来想写一个详细的使用教程,突然看到有前辈已经写好了不错的教程,特此"借花献佛"整理出来分享给大家! Jenkins + Jmeter 构建接口.性能测试持续集成解决方案 Jenkins + Jmeter 可以很轻松的进行打包发布程序后自动进行接口冒烟测试,或者定时性能测试.以下是详尽的Jenkins + Jmeter 安装配置及创建一个任务. 目录 Jenkins Jmeter 构建接口性能测试 目录 JDK安装 下载JDK 安装JDK 配置环境变量 Jmeter…
背景 公司计划推接口和性能测试,搭建这个性能测试框架框架是希望能够让每个人(开发人员.测试人员)都能快速的进行性能,接口测试,而不需要关注性能测试环境搭建过程.因为,往往配置一个性能环境可能需要很长的时间. 该框架搭建 基于Jmeter和Jenkins搭建性能测试框架 和 jenkins+ANT+jmeter 接口测试环境搭建 演化过来. Jmeter GUI上制定测试计划 Thread Group 用函数__P()设置属性名和默认值的形式设置这三个属性,以方便在使用no-GUI模式启动Jmet…
公司的**产品经过换代升级,终于要上线了,纯java编码,包括POS(PC/安卓平板)版.WEB版.微信版,各终端通过 Webservice服务共享数据资源,因此Webservice各接口的性能测试就此展开. 下面总结下socket 协议型接口,利用JMETER性能测试工具,进行性能测试的注意要点及操作步骤. 1. 添加SOAP请求: 添加线程组-添加sampler-选择SOAP/XML-RPC Request, 2. 填写URL地址及请求数据: 在URL中填写测试地址:http://192.1…
上次我们将dubbo接口与jmeter集成起来,但是jmeter是由java实现的,本身有很多限制,无法实现高并发,我们需要借助分布式来实现大压力测试. 在上次的例子中,我们只是实现了简单的dubbo接口测试,下面我们来实现参数化,我们先创建一个txt,并在里面添加入参及出餐: 添加csv config 修改我们写死的beanshell脚本 在修改脚本之后我们来添加一个beanshell断言 在jmeter里单机运行一下 接下来我们来实现jmeter分布式运行,在实现分布式的时候,我们需要区分两…
最近工作中接到一个需求,需要对一个Dubbo接口进行压力测试,测试其性能,之前一直使用jmeter做压力测试,在踏了好多坑之后,决定把这些记录下来,顺便也希望能帮助到大家. 开始测试之前,我们需要先知道什么是dubbo接口. 一.Dubbo简介 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.其核心部分包含如下几点: 1.远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式:…
  最初的压测这个dubbo接口有三种思路: .第一种就是基于业务,比如注册业务,注册成功后,会发送短信消息到用户手机,通过业务调用消息服务,最容易实现,但是业务瓶颈最大导致测试结果不准 .第二种是通过将dubbo接口上面做一层包装,提供一个http接口访问dubbo接口,需要提供二次开发,需要时间,而且高并发下,需要部署在tomcat容器内部 .就是直接压测dubbo接口,这种测试的结果最准确,目前有开源的jmeter plguin sampler插件使用 第一步:源码下载:https://g…
在每年的双十一大促之前,除了全链路压测,还需要各个业务方对自己业务提供的核心接口进行单接口压测,以评判系统的稳定性和承压能力. 一.准备工作 环境准备:确保应用性能环境(perf)正常可用 压测接口梳理:通过 ops平台 - 应用 - 监控模块 [示例] 获取频繁访问的接口,确定需要压测的接口列表 测试数据准备:根据接口请求的参数列表,从qa库中捞取需要的测试数据,导出到csv备用 二.压测脚本编写(jmeter版本3.2) A: Nova或Dubbo接口 这类接口的压测需要借助jmeter的高…
最近工作中接到一个需求,需要对一个MQ消息队列进行性能测试,测试其消费能力,开发提供了一个dubbo服务来供我调用发送消息. 这篇博客,介绍下如何利用jmeter来测试dubbo接口,并进行性能测试... 一.Dubbo简介 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.其核心部分包含如下几点: 1.远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式: 2.集群容错:提供基…
最近工作中接到一个需求,需要对一个MQ消息队列进行性能测试,测试其消费能力,开发提供了一个dubbo服务来供我调用发送消息. 这篇博客,介绍下如何利用jmeter来测试dubbo接口,并进行性能测试... 一.Dubbo简介 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.其核心部分包含如下几点: 1.远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式: 2.集群容错:提供基…
这周尝试了一把性能测试,之前都是测试网站的性能测试,java接口的性能测试还是头一次,学到了很多,特此分享一下. 主要用到了两个性能测试工具,一个是jmeter,一个是LoadRunner. 使用jmeter的测试方法: 1.下载jemeter的linux版本的,下载的文件里包含了两个jar包,一个是ApacheJMeter_core.jar,ApacheJMter_java.jar.分别把这两个jar放到eclipse的Java Build Path的libraries下面. 2.创建编写脚本…
调研是否可以把dubbo压测的一些公共配置变成变量.可以调控 Dubbo接口如何在Jmeter中测试,自研Dubbo Plugin for Apache JMeter 最新使用手册参考:https://github.com/dubbo/jmeter-plugins-dubbo/wiki/%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97 参考:https://github.com/ningyu1/jmeter-plugins-dubbo https://ningyu1.gi…
大家都知道 dubbo 是一个优秀 rpc 框架,它一般(dubbox 除外)通过对外提供 tcp协议的接口进行外部调用.而我们日常使用的测试工具 jmeter 并不支持 dubbo 协议的请求.所以本文到此结束,谢谢观看,再见. 当然 jmeter 本身的确是不支持 dubbo 的请求,但是呢,有一个老哥,他通过 dubbo 的泛化调用特性写了一个jmeter 的插件,使用这个插件可以很方便的进行 dubbo 接口的调用.下面就来说说如果使用 jmeter 进行 dubbo 接口测试. 安装插…
Jmeter使用实践-接口diff测试 大多数人都使用 Jmeter 做过性能测试,但是在使用的过程中你会发现,它不仅可以做性能测试和功能测试,还能够满足基本的接口测试需求. 相比其他工具,Jmeter 入门门槛较低,安装也比较方便,根据自己的需要可以扩展一些插件,总之一句话: 优点太多了. 那么问题来了,为什么要做接口 diff 测试? 产品迭代较快,提高已有 case 回归的效率,减轻工作量: 通过 diff 可以看到新的改动对已有功能的影响: 可以根据修改的代码设置 case,有针对性的测…
摘自:https://testerhome.com/topics/13389 一.背景  上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接口自动化测试单有脚本是不够的,我们还需要批量跑指定接口,生成接口运行报告,定位报错接口,接口定时任务,邮件通知等功能.批量跑指定接口:我们可以利用ant批量跑指定目录下的Jmeter脚本生成接口运行报告:使用Jmeter(extras目录下)自带的jmeter-results-detail-repo…
经过上一次的初步使用,我们懂得了Jmeter的安装与初步使用的方法.现在,我们使用Jmeter做一个简单的性能测试.该次测试,提交的参数不做参数化处理,Jmeter各元件使用将在介绍在下一博文开始介绍并使用. 首先,打开Jmeter工具,并建立一个测试计划(测试脚本).启动jmeter后,jmeter会自动生成一个空的测试计划,我们可以基于该测试计划建立自己的测试计划. 步骤: 步骤一:添加线程组 一个性能测试请求负载是基于一个线程组完成的.一个测试计划必须有一个线程组.测试计划添加线程组非常简…
在 使用jmeter+ant进行接口自动化测试(数据驱动)之一 介绍了如何使用csv文件来批量管理接口 本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 apache-ant-1.9.9,配置环境变量 如下方式检验安装成功 ②安装好ant后,把jmeter中extras目录下的ant-jmeter-1.1.1.jar 文件copy到ant安装目录下的lib文件夹中 ③配置ant 编译文件 build.xml 新建一个txt文件,并重名为 build.xm…
接口需求 客户端输入uncleyong(当然,也可以输入其它字符串),服务端返回hello uncleyong 开发环境 jdk + idea + maven + zookeeper jdk安装 idea安装 maven安装 zookeeper安装 common开发 idea中创建模块dubbo-common 存放公共的实体类.接口 package com.uncleyong.dubbotest.service; public interface SayHelloToClient { publi…
需求:项目增加幂等 场景:1.三个项目:a .b.c2.a项目加幂等3.b项目dubbo调用项目a的时候超时没有获取返回结果,增加重试机制(非立即重试,3min or 5min 后重试)4.c项目是一个异步的job项目,用来接收mq,异步处理,管理task等. 方案:1.a项目设置请求流水id,将请求先存入redis缓存,处理完成之后更新redis中的状态,同一个流水id认为是重复提交,不进行业务处理,直接返回redis中的状态2.b项目捕获调用a项目的超时异常,存入redis队列3.c项目启动…
半年前,用jmeter4.0测试dubbo接口的时候,遇到这样一个问题 An error occurred: org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class errorlevel=1 测试技术群里问了半天,也没答案.从下面的图也可以看出,jar包的依赖关系太复杂了. 根据上面报错的提示,在pom文件中添加了依赖排除,排除了冲突,但是在…
在开发中,有时候需要限制访问的权限,白名单就是一种方法.对于Java Web应用,Spring的拦截器可以拦截Web接口的调用:而对于dubbo接口,Spring的拦截器就不管用了. dubbo提供了Filter扩展,可以通过自定义Filter来实现这个功能.本文通过一个事例来演示如何实现dubbo接口的IP白名单. 1.扩展Filter实现com.alibaba.dubbo.rpc.Filter接口: 注意:只能通过setter方式来注入其他的bean,且不要标注注解!dubbo自己会对这些b…