首页
学习
活动
专区
圈层
工具
发布

编写一个接口压测工具

前言 前段时间有个项目即将上线,需要对其中的核心接口进行压测;由于我们的接口是 gRPC 协议,找了一圈发现压测工具并不像 HTTP 那么多。 最终发现了 ghz 这个工具,功能也非常齐全。...事后我在想为啥做 gRPC 压测的工具这么少,是有什么难点嘛?为了验证这个问题于是我准备自己写一个工具。 特性 前前后后大概花了个周末的时间完成了相关功能。...同时也支持压测时间、次数两种压测方式。...) } ) 从名字也能看出来,分别对应: 压测初始化 运行压测 停止压测 打印压测信息 关闭程序、释放资源 然后在两个不同的模式中进行实现。...总结 有 gRPC 接口压测需求的朋友欢迎试用,提出宝贵意见;当然 HTTP 接口也可以。 源码地址:https://github.com/crossoverJie/ptg/

54620

Rpc接口压测

今天作者将以最近项目中用到的grpc为例,结合jmeter来介绍下rpc压测实施步骤。学习本文前需对rpc框架、jmeter有个大致的了解,知道rpc如何用工具生成各种语言的代码。...需要说明的是,接口多个参数赋值,可按照下图中2的方法进行(对check和sign两个参数赋值) [860f81ed2348ae059d621eb7529f06ebf31e451c.jpeg] 步骤二:java...关于jmeter的java sample脚本这里需要说明下: 创建一个类并实现JavaSamplerClient接口或继承bstractJavaSamplerClient,并重写如下几个方法: public...通常一个rpc服务会包含多个接口,为了避免每个接口都写一个java sample请求,这里有个小技巧,可以在参数中增加一个字段,用于区分不同的接口 <br style="box-sizing: border-box

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

    Jmeter接口压测示例

    Jmeter接口压测示例 Apache JMeter™ 是 Apache 组织开发的一款开源软件,是典型的纯 Java 开发的应用程序,可以在不同平台比如Windows、Linux或macOS系统上进行软件测试...JMeter主要用于应用程序的功能负载测试以度量软件的性能,也可以用于其他类型的测试比如接口测试,API测试等。...请求响应断言 对接口进行断言,如果是正常API的话用JSON来断言,这里我就直接用响应码断言 ?...最近公司开发了一个转账功能,需要最转账接口做一个并发测试,测试账户余额剩下10的时候,同时发起两个转账请求,请求数额均为10,测试能不能发送成功。...自己的话很难做并发测试,我们开发也可以使用这种工具对一些必要的接口进行测试 ? 模拟用户组数量 每次释放的线程数量。如果设置为0,等同于设置为线程租中的线程数量。

    1.3K30

    windows磁盘压测工具

    不要在磁盘上放重要数据,有数据的话先做快照备份,最好是全新盘测试 测试时,不要在磁盘上放重要数据,有数据的话先做快照备份,最好是全新盘测试 测试时,不要在磁盘上放重要数据,有数据的话先做快照备份,最好是全新盘测试 磁盘压测工具理论上都有损坏文件系统的可能...,如果盘里有数据,压测前一定先做快照,压测完毕后回滚快照还原回去,确保不因压测磁盘丢数据。...1、微软推荐diskspd,参考https://cloud.tencent.com/developer/article/1835975 2、开源跨平台工具fio,参考https://cloud.tencent.com.../developer/article/1836176 (Windows上优先推荐diskspd,其次fio) 特定场景磁盘压测示例:https://cloud.tencent.com/developer

    3.3K30

    Jmeter接口压测快速入门

    如今Jmeter是一个主流的、功能完善且强大的压测工具,由于是使用Java编写的,所以具有跨平台特性,可以运行在Windows、Mac、Linux等操作系统上。...接下来我们看看如何使用Jmeter对接口进行压测,我现在有一个商品列表接口,接口路径为:/goods/to_list。...---- Redis压测工具 - redis-benchmark Redis作为缓存中间件,其性能瓶颈会影响到系统的整体性能,所以通常我们也需要通过压测的方式确定Redis服务的性能瓶颈是多少。...而Redis自带了压测工具:redis-benchmark,本小节将简单介绍该工具的使用。...该工具的使用也比较简单,如果只是做一个压测的话,只需要使用如下命令即可: [root@server ~]# redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n

    5K20

    软件测试|Rpc接口压测

    今天作者将以最近项目中用到的grpc为例,结合jmeter来介绍下rpc压测实施步骤。学习本文前需对rpc框架、jmeter有个大致的了解,知道rpc如何用工具生成各种语言的代码。...需要说明的是,接口多个参数赋值,可按照下图中2的方法进行(对check和sign两个参数赋值)图片步骤二:java sample 脚本准备编写jmeter的java sample代码。...关于jmeter的java sample脚本这里需要说明下:创建一个类并实现JavaSamplerClient接口或继承bstractJavaSamplerClient,并重写如下几个方法:public...通常一个rpc服务会包含多个接口,为了避免每个接口都写一个java sample请求,这里有个小技巧,可以在参数中增加一个字段,用于区分不同的接口压测了

    1.5K00

    jmeter压测学习8-压测带token的接口

    前言 工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口。...比如我现在要压测一个修改用户的个人信息接口,每个用户只能修改自己的个人信息。 场景案例 我现在有一个登陆接口A,登陆成功后返回一个token值。...我们只需要拿到token直接去压测B接口就行了。...测试token准备 B接口有两个参数是一一对应的,一个是token,一个是对应的name,比如压测的时候准备100个用户,我这里以10个用户为例 先注册批量的用户用于压测,我这里注册的用户是test1,...运行结果 接下来就可以设置线程组愉快的压测了 ? 比如我设置2个线程,4次循环,这样会请求8次,每次都从测试文件里面循环取值 ? 2

    4.6K10

    locust压测工具使用

    有页面 有页面的方式是 locust 工具的一大特性,可以实时查看压测情况,这点要比 jmeter 好一些,比较合适小白使用。...分布式 locust 同样也支持分布式压测,尤其当一台发压机能力不足的情况下,可以联动多台机器一起压测,master 和 slave 的方式压测 。...结语 本文主要介绍下 Locust 工具的初级使用,如果对 jmeter 有一定掌握的同学,学习起来会非常容易。 另外就是很多同学会问,jmeter 不是可以压测吗?...对公司: 1、可以快速的完成工作,团队中可能大部分同学都是用 Locust 工具,如果你能提前掌握会更好的融入工作。 2、Locust 可以更好开发成压测平台,在工作上提高压测效率。...相关推荐 记一次MQTT协议压测 接口自动化测试多场景实践 - 上篇 接口自动化测试多场景实践 - 下篇 为什么国内接口测试工具很多,却没有出现一站式平台呢? locust可视化压测平台

    8.1K20

    实战Jmeter压测Dubbo服务接口

    一、前言 最近在做一些业务上云的项目,其中远程Rpc调用方式我们选择了Dubbo,为便于收集压测信息,我们选择了使用Jmeter来做压测工具,本文就来简单介绍如何使用Jmeter压测Dubbo服务接口,...runTest方法则用来具体调用Hello接口的方法,我们压测也就是频繁的调用runTest来测试hello的sayHello方法。...四、dubbo插件打包与压测 4.1 dubbo插件的安装 首先我们需要把ConsumerHelloService类所在的应用打包为一个jar包,然后把打包好的jar放入到jmeter目录的apache-jmeter...image.png 然后可以设置压测线程个数等属性 ? image.png 然后添加Java请求配置组件 ? image.png 然后在类名称这下拉框中就会存在dubbo插件类, ?...image.png 这里你可以选择你需要的监控页面 最后单击绿色三角 开始压测: ?

    1.2K20

    实战Jmeter压测Dubbo服务接口

    一、前言 最近在做一些业务上云的项目,其中远程Rpc调用方式我们选择了Dubbo,为便于收集压测信息,我们选择了使用Jmeter来做压测工具,本文就来简单介绍如何使用Jmeter压测Dubbo服务接口,...runTest方法则用来具体调用Hello接口的方法,我们压测也就是频繁的调用runTest来测试hello的sayHello方法。...四、dubbo插件打包与压测 4.1 dubbo插件的安装 首先我们需要把ConsumerHelloService类所在的应用打包为一个jar包,然后把打包好的jar放入到jmeter目录的apache-jmeter...jar结构如下: [image.png] 其中lib中会包含所有依赖的jar. 4.2 测试 按照上面讲解的执行sh jmeter.sh启动 界面 然后添加线程组 [image.png] 然后可以设置压测线程个数等属性...: [image.png] 到这里说明Jmeter已经找到了我们的dubbo扩展插件,下面我们添加一些监视器以便监控结果 [image.png] 这里你可以选择你需要的监控页面 最后单击绿色三角 开始压测

    2.3K40
    领券