学习
实践
活动
工具
TVP
写文章

性能测试 —— Dubbo 基准测试

测试工具 目前可用于 Dubbo 测试的工具如下: dubbo-benchmark :Dubbo 官方,基于 JMH 实现的 Dubbo 性能基准测试工具。 ,压力测试工具 Jmeter 对 Dubbo 的插件拓展。 4. dubbo-benchmark 4.1 项目结构 在开始正式测试之前,我们先来了解下 dubbo-benchmark 项目的大体结构。 ? 所以,本文还是测试 Dubbo 2.6.1 版本。当然,这个对测试结果影响不大,妥妥的。 彩蛋 因为 dubbo-benchmark 项目的存在,所以整个测试的过程,体验还是比较舒服,测试也是非常顺利的。

1.3K30

Dubbo的RPC测试

Dubbo具体由来和功能这里不做介绍了,推荐看apache提供的文档 http://dubbo.apache.org/zh-cn/index.html 这里提供一个Dubbo实现RPC功能的案例,方便大家理解 Dubbo可供外部调用。 url="dubbo://192.168.106.1:20880/com.zyh.dubbo.ApiInterface"/> </beans 客户端pom配置,dubbo毋庸置疑,还有一个呢就是我们的接口依赖库 --引入安装到本地的dubbo-api接口--> <groupId>com.zyh.dubbo</groupId> <artifactId>dubbo-api</artifactId ="com.zyh.<em>dubbo</em>.ApiInterface"/> 运行结果 引入zk后,其zk中心的/dubbo/接口/provider/url中url是临时结点,因为我们服务端的dubbo和zk是这里是基于

13420
  • 广告
    关闭

    腾讯云精选爆品盛惠抢购

    腾讯云精选爆款云服务器限时体验20元起,云数据库19.9元/年起,还有更多热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    14-Dubbo测试

    Dubbo 目前是apache托管的开源项目,能够实现RPC 注册中心:zookeeper 默认端口2181 服务提供者:应用程序 服务消费者:使用服务方 服务监控:监控 测试服务器环境 测试服务器IP :192.168.9.3 zookeeper端口20181 服务提供者: membet1:20882 membet2:20883 测试dubbo的方法 1.使用Telnet的方式 在mac上运行telnet Telnet 使用cd进入到服务的名称位置后 dubbo>ls -l com.lemon.member.service.MemberService -> dubbo://192.168.9.3:20882 「Dubbo Sample」 ? 性能测试执行过程成功,状态为绿色(红色为执行过程中出错),执行成功,会展示一份测试报告概要。

    33350

    python测试dubbo接口

    本文主要介绍使用Python调用Hession协议dubbo接口示例。 关于Dubbo Hession协议: Dubbo本身支持多种远程调用方式,例如Dubbo RPC(二进制序列化 + tcp协议)、http invoker(二进制序列化 + http协议)、hessian Dubbo将这些协议的实现进行了封装了,无论是服务端(开发服务)还是客户端(调用服务),都不需要关心协议的细节,只需要在配置中指定使用的协议即可,从而保证了服务提供方与服务消费方之间的透明。 如果我们使用Dubbo的服务注册中心组件,这样服务提供方将服务发布到注册的中心,只是将服务的名称暴露给外部,而服务消费方只需要知道注册中心和服务提供方提供的服务名称,就能够透明地调用服务。

    1.5K10

    JMeter Dubbo 接口测试

    JMeter 插件拓展 1.1 插件下载 测试 Dubbo,我们需要下载 Dubbo 的插件,在 Apache 的 Dubbo 插件 GitHub 中可以找到: https://github.com/thubbo 图片 测试接口准备 这里在本地准备好了一个 Dubbo测试 demo 供演示使用,provider的方法如下,直接调用方法,返回一个用户信息列表: <pre style="margin: 10px 可以查到当前的服务已经提供完成: 图片 <em>测试</em> <em>Dubbo</em> 接口 这里选择以直连的方式进行接口的<em>测试</em>,也就是利用了 <em>Dubbo</em> 的泛化调用的方式,不需要知道注册中心,只需要知道服务接口,方法名以及服务提供者的地址即可 关于 <em>Dubbo</em> 的泛化调用,后续再单独介绍。 3.2 结果展示 执行<em>测试</em>,查看<em>测试</em>结果如下: 图片 可以看到接口成功响应,结果成功返回,<em>测试</em> <em>Dubbo</em> 接口成功。

    17900

    测试环境bug,dubbo调不到dubbo服务

    测试环境,cloud服务调dubbo服务再调dubbo,其他服务与本服务公用一个zk,其中一个总是注册不上,每次调用dubbo发现查不到数据,服务启动失败,追溯日志如下 java.lang.IllegalStateException

    55440

    使用dubbo-go搭建dubbo接口测试平台

    背景 http接口测试只需要一个curl命令,但dubbo协议没有这样的现成接口测试工具。通常公司内的dubbo控制台或其他平台会集成一个dubbo接口测试工具。 作为接口测试平台,没办法引入所有提供方定义的接口jar包,可以有以下方案来解决: dubbo支持telnet协议调用dubbo接口 dubbo的泛化调用可以在不引入提供方接口定义jar包的情况下对接口进行调用 对于方案1,实现成本很低,甚至可以在服务器上直接用telnet测试 [1.png] 它也有缺点 调用无法经过filter 无法携带隐式参数attachment 刚好我们把方案1的优缺点都踩了,我们的dubbo dubbo-go介绍 dubbo-go是dubbo的golang实现版本,它出现的初衷是为了让golang和java的dubbo生态互通。 使用dubbo-go构建网关、接口测试平台、或者打通golang与java技术生态,不失为一个好的选择。

    27311

    Dubbo测试的那点事儿

    Q3:什么是dubbo dubbo是阿里集团开源的分布式服务框架,其提供高性能透明化的RPC调用,能够与Spring框架集成,因此,目前在国内互联网公司及企业应用广泛。 由此可以看出dubbo符合生产者消费者模型,但dubbo在生产者消费者模型基础上进行了改进,添加了注册中心及监控中心,形成了下图的服务架构: ? dubbo的发布-订阅过程如下: 启动容器,生产者在注册中心发布所提供的服务; 消费者在注册中心订阅服务。 dubbo测试配置 1. Jar包导入 ①生产者和消费者都需要引入dubbo相关的Jar包,如下图: ? ②根据dubbo的版本引入zk客户端,如下图: ? 确认各项服务运行正常,配置至最新测试版本。 确认最新测试数据符合本次测试需求。

    70510

    使用Jmeter测试Dubbo接口

    WebSocket接口需要下载dubbo插件才能使用 本次版本为jmeter-plugins-dubbo-1.3.6,下载方法见文章末尾 由于工作需要,最近需要对dubbo接口进行测试,查询了很多资料 ,最后调试通过,记录下 以前也用Jmeter对dubbo接口进行过测试,需要使用java语言编写方法调用dubbo接口,然后创建一个Maven项目,生成依赖的jar包,在把jar包放到Jmeter的lib 添加线程组,Jmeter执行是通过线程组进行驱动的,测试计划必须最少有一个线程组,选中Test Plan,点击右键,添加》Threads》线程组 ? 二、依次添加如下请求 1. 添加创建连接请求-选中线程组,点击右键,添加》Sampler》Dubbo Sample ? json格式参数 ? 非json格式参数 ? 非json格式参数,无参 ? 2. 添加断言,判断响应信息中是否包含"已实名"返回信息,选中该Dubbo请求,点击右键,添加》断言》响应断言,输入预期结果 ? ? 三、添加察看结果树 1.

    1.4K32

    使用jmeter测试dubbo接口

    本文记录分享如何使用jmeter测试dubbo接口,接口代码如下: package com.star.beluga.api; import com.star.beluga.dto.User; public ; @DubboService(interfaceClass = IHelloService.class,protocol = {"dubbo"},version = "1.0") public class 插件,jmeter-plugins-for-apache-dubbo,下载后添加到JMETER_HOME/lib/ext 目录下即可。 2.dubbo采样:接下来就可以添加线程组,添加Dubbo Sampler了,添加所需的结果视图,如图所示: 基本都是dubbo配置相关,注册中心地址,全路径接口名称,方法名称,请求接口版本等。 4.执行测试:在结果树中查看执行结果,结果正常就可以开始压力测试了。

    27330

    dubbo接口的测试方法汇总​

    前情提要 我的上一篇文章"从0到1搭建dubbo服务"已经详细介绍了如何在本地搭建测试dubbo服务 今天刚更新了dubbo的相关代码, 完善了提供者的测试数据和接口 + 编写消费者的controller 常用测试方法汇总 个人通过搜集资料, 总结出dubbo相关接口的测试方法有4种,下面介绍下同时给出自己的推荐指数(满星是5星) 1. 使用telnet命令来测试 (推荐指数:1星) 优点: 最原始的测试方法,可以简单调用dubbo接口 缺点是: 在windows的cmd上使用telnet命令运行,经常会遇到乱码问题 不容易接口复用, 每用一次就得手敲一次 无法进行自动化集成 2. jmeter集成dubbo相关的jar包测试 (推荐指数:2星) 优点: 使用工具来测, 操作相对简单一些 缺点: 需要找相关的jar包, 并且保证自己的 使用别人封装的库或者开源工具进行测试 目前发现3个比较好的开源项目 「将dubbo接口封装为http的fastapi项目」 项目地址: https://github.com/JokerChat/dubbo_fastapi

    29410

    接口测试平台:Dubbo接口支持

    Dubbo具体的Java调用方式可以参考这篇文章《Dubbo接口泛化调用》。 列表展示大概如下: ? 前端配置页,则是对入参进行二次封装。 ? 返回结果的处理部分,与http请求基本一致 ? 所属系统名称 */ private String systemName; /** 前端填写的apiName */ private String apiName; /** 传给dubbo } catch (Exception e) { e.printStackTrace(); } return null; } 目前Dubbo 请求只支持调试执行,最近考虑在场景执行里,支持http与dubbo的混合执行。

    76910

    dubbo免配置单元测试

    对于一个严谨的程序员, 我们每开发一个程序, 理论上都要经过单元测试的, 经过单元测试我们可以发现 比较简单的,低级的逻辑性错误, 和sql语句错误等问题, 如果这些错误异常在测试阶段 或者说生产环境出现 此篇不对单元测试 做太多赘述,重点讲述一下 dubbo服务化后我们怎样 简单有效的做好单元测试 dubbo单元测试大概分两种, 1.基于配置; 2.免配置。 相信各位使用过dubbo的看官 对基于配置的单元测试都有 所了解,接下来介绍一下免配置 的dubbo单元测试案例 (点到点直连和基于配置中心) 一、点到点直连方式 在maven项目src/test目录下 建立单元测试基类,如下: 123456789101112131415161718192021222324252627282930 /*** 免配置dubbo服务单元测试** @author Typhoon 其实我们根据真实业务场景分析, 第二种是不太适用的,因为我们 要测得基本上都是自己写的 dubbo服务,所以基本上都是 适用点点之间直连的方式, 而如果适用注册中心的花, 有可能我们单元测试调用 的服务是别人注册上去的

    73510

    使用 JMeter 进行 Dubbo 性能测试

    如果不用通用的压测工具解决 Dubbo 的压测问题,可以自己编写 Dubbo 客户端,自行汇总结果,但总归不够优雅,再加上很多开发同学没有丰富的测试经验,很容易出现一些偏差。 这是一款由 Dubbo 社区 commiter 凝雨同学开发的 JMeter 插件,可以非常轻松地对 Dubbo 实现性能测试。 2 JMeter 介绍 在开始压测 Dubbo 之前,简单介绍一下这款开源的性能测试工具 —— JMeter。JMeter 是 Apache 组织基于 Java 开发的一款性能测试工具。 4.2 增加 Dubbo 取样器 之前的小结已经介绍了如何添加线程组和 HTTP 取样器,现在想要对 Dubbo 应用进行性能测试,可以直接复用之前的线程组配置,在线程组上右键 【添加】-->【取样器】 4.5 执行测试计划 可以将 Dubbo 取样器和 HTTP 取样器包含在同一个测试计划中一起执行,同时进行了 Dubbo 接口与 Rest 接口的性能对比。

    1.4K10

    基于 JMeter 完成 Dubbo 接口的测试

    更多技术文章分享及测试资料点此获取 JMeter 默认是不支持 Dubbo 接口测试的,但是我们可以通过拓展的插件或 jar 包实现此功能。 JMeter 插件拓展 1.1 插件下载 测试 Dubbo,我们需要下载 Dubbo 的插件,在 Apache 的 Dubbo 插件 GitHub 中可以找到: https://github.com/thubbo 这里在本地准备好了一个 Dubbo测试 demo 供演示使用,provider的方法如下,直接调用方法,返回一个用户信息列表: public class UserServiceImpl implements Dubbo 接口 这里选择以直连的方式进行接口的测试,也就是利用了 Dubbo 的泛化调用的方式,不需要知道注册中心,只需要知道服务接口,方法名以及服务提供者的地址即可。 ==,size_16,color_FFFFFF,t_70] 可以看到接口成功响应,结果成功返回,测试 Dubbo 接口成功。

    1.5K30

    基于 JMeter 完成 Dubbo 接口的测试

    JMeter 默认是不支持 Dubbo 接口测试的,但是我们可以通过拓展的插件或 jar 包实现此功能。 JMeter 插件拓展 1.1 插件下载 测试 Dubbo,我们需要下载 Dubbo 的插件,在 Apache 的 Dubbo 插件 GitHub 中可以找到: https://github.com/thubbo 测试接口准备 这里在本地准备好了一个 Dubbo测试 demo 供演示使用,provider的方法如下,直接调用方法,返回一个用户信息列表: public class UserServiceImpl 可以查到当前的服务已经提供完成: 测试 Dubbo 接口 这里选择以直连的方式进行接口的测试,也就是利用了 Dubbo 的泛化调用的方式,不需要知道注册中心,只需要知道服务接口,方法名以及服务提供者的地址即可 3.2 结果展示 执行测试,查看测试结果如下: 可以看到接口成功响应,结果成功返回,测试 Dubbo 接口成功。

    8310

    (三)使用ab(Apache-BenchMark)压测dubbo测试dubbo的性能

    dubbo的consumer发起调用,调用provider暴露的接口。 provider做1w次循环,生成随机数做累加。 情况二: 我再加一台跨机房的机器测试一下。 1k dubbo+hessian2 100k dubbo+hessian2 TPS 8500~9000 1000~1100 RTT 95% 5ms 95% 41ms OOM 无 无 2、单机,不压满CPU ab -n 1000000 -c 10 1k dubbo+hessian2 100k dubbo+hessian2 TPS 4000~4500 600~700 RTT 95% 4ms 95% 19ms OOM 无 无 CPU 125%+ 150% 参考: 压测dubbo:https://blog.csdn.net/u013815546/article/details/101385888 压测dubbo

    18210

    干货 | Dubbo 接口测试技术,测试开发进阶必备

    接口测试为霍格沃兹测试学院特色课程,全网深度领先,想一起系统进阶的同学文末加群交流。 Dubbo demo 首页的例子已经很好了。可参考 http://Dubbo.io/ 下面介绍几种常用的 Dubbo 接口测试方法。 这种情况适合自己打造接口测试框架使用。以上 2 个方式都需要依赖研发提供的 Dubbo 接口的 jar 包,这无疑会增加项目的负担。 Tips | Dubbo 测试的技术关注点 Dubbo 支持很多的协议,如果用的是 HTTP 或者 Hessian 协议,他们本身是文本的,可以直接使用 RESTAssured 框架进行接口测试Dubbo 的 Registry 保存了 Dubbo 各种服务的注册信息,测试的时候可以直接用 registry,而不是直接连接到提供服务的 provider 上; 更多技术文章分享及测试资料点此获取

    62500

    Python 实现 dubbo 协议接口自动化测试

    前言 python 语言也可以实现对 dubbo协议的接口进行调用与测试,可以使用 python+hessian 结合的方式,也可以使用 python+telnet 结合的方式模拟命令行的模式来实现对 dubbo 协议接口的测试; 网上关于 python+hessian 协议的博客比较多,本人试了试,终究是没有在本机上测试通过,所以选择了 python+telnet 的方法在编译器里实现了 python 源生代码对 dubbo 接口调用测试; 实现源码 代码详解 1、代码讲解第20行: num20行:"invoke {0}{1}()".format(service_name,method_name) (1)、invoke为调用dubbo接口的命令名称; (2)、{0}为invoke命令后需要接的第一个参数,它的值将由传入进来的service_name取代,一般是传入服务名称,这里的写法只是为了占位 服务被调用的方法,是不需要传入参数就能直接调用成功的,虽然不需要传入参数,但是必需写上(); (5)、问题:如果被调用的dubbo服务的方法需要传入对应的参数,怎么处理呢?

    14220

    扫码关注腾讯云开发者

    领取腾讯云代金券