开源API集成测试工具 Hitchhiker v0.2更新 - 压力测试

Hitchhiker 是一款开源的 Restful Api 集成测试工具,支持Schedule, 数据对比,压力测试,可以轻松部署到本地,和你的team成员一起管理Api。

详细介绍请看: https://cloud.tencent.com/developer/article/1012689

在线体验: http://www.hitchhiker-api.com/, 可以用 try without login 来免登录使用 (在线演示不支持压力测试,虚拟机单核的,撑不住)。

这次发布的算是一个大版本,主要增加一个重磅功能 - 压力测试:

压力测试

双11快到了,经常会有整点秒杀的活动,秒杀就是一个典型的压力场景,所以建了一个简单的Case来表现这种场景,来展示Hitchhiker压力测试功能:

Hitchhiker使用一个基于Golang的分布式压力节点,这是一个单独的项目:Hitchhiker-Node。得益于Golang的交叉编译,轻松跨平台生成文件,所以只有一个可执行文件和一个配置文件,没有环境依赖,直接执行。

使用时在release页面先选择对应平台的zip文件下载下来,解压后会有两个文件,一个可执行文件和一个配置文件config.json,打开配置文件,把Address的值从localhost改为部署Hitchhiker机器的ip,然后再执行Hitchhiker-Node文件,这样就弄好了一个压力点。

如果想压出很大的请求就可以考虑部署到多台机器上,Hitchhiker会自动根据机器的CPU核数来分配任务,当然,一般情况下直接部署到Hitchhiker同一台机器就够用了。

压力测试用的也是CollectionRequest,可以选择性的挑出合适的Request用来做Case,压力测试的参数有:

  • Repeat: 运行整套请求的次数
  • Concurrency: 并发个数
  • QPS: 1秒内限制单个节点请求的个数,默认为0,即没有限制
  • Timeout: 请求的超时时间设置,单位为秒,默认为0,即没有超时设置
  • Keeplive: 设置请求是否使用Keeplive

运行压力测试任务时会实时显示运行状态,包括节点的状态(闪烁表示正在工作),当前任务及任务的数量,下方有三个图表,分别表示

  1. 当前的运行进度,包括完成的数量及TPS
  2. 各个Request的请求消耗时间,包括 DNS, Connect, Request, Min, Max 这五个
  3. 请求失败的状态,包括 No Response, Server Error(500), Test失败 这三种情况

其他改动

  1. 源码部署时支持改端口,之前固定用的8080,要改需要改js文件,现在只需在部署文件时改就好了。
  2. 改正Schedule空跑时的异常。

后续计划

压力测试在国庆后总算做出来,后来又花了一些时间来测试,0.2这个版本算是告一段落。 接下来版本计划要改下,涉及新功能的都是大版本,bug是小版本。 下个模块功能是支持API文档,希望能是一个自定义的,所见即所得,支持导出常用格式的API文档系统。 小功能和bug会持续改进。

Github: https://github.com/brookshi/Hitchhiker, 觉得不错的话麻烦 Star 支持下,谢谢。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分享达人秀

Android 系统架构和应用组件那些事

继上一期浅谈了Android的前世今生,这一期一起来大致回顾一下Android 系统架构和应用组件。 Android 系统架构 Android系...

2196
来自专栏三流程序员的挣扎

Android 优化——网络优化

931
来自专栏我是攻城师

Jmeter压测快速体验

2613
来自专栏微信公众号:Java团长

我整理的Java开源项目

882
来自专栏SeanCheney的专栏

《Python分布式计算》 第7章 测试和调试分布式应用 (Distributed Computing with Python)概述常见错误——时钟和时间常见错误——软件环境常见问题——许可和环境常见

无论大小的分布式应用,测试和调试的难度都非常大。因为是分布在网络中的,各台机器可能十分不同,地理位置也可能不同。 进一步的,使用的电脑可能有不同的用户账户、不同...

2335
来自专栏FreeBuf

基于Lua插件化的Pcap流量监听代理

1.前言 我们在实际工作中,遇到了一个这样的用例,在每天例行扫描活动中,发现有些应用系统不定期的被扫挂,因为我们不是服务的制造者,没有办法在不同的系统里打印日志...

27610
来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–应收帐款(157)-17中国金税

4.17 中国金税 在中国,所有的增值税一般纳税人必须通过金穗系统来开具增值税发票。 SAP系统提供与金穗系统的接口,以便利增值税发票的处理和打印。 销售与...

39312
来自专栏白驹过隙

ACE - Ubuntu下环境搭建

2669
来自专栏从零开始学自动化测试

pytest文档22-pytest分布式执行(pytest-xdist)

平常我们手工测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟。如果一个测试人员执行需要1000分钟才能执行完,当项目非常紧急的时候, 我们会用测试...

1094
来自专栏大数据钻研

写给刚入门的前端工程师的前后端交互指南

作为刚接触前端的不久的童鞋,大家都会兴奋于CSS和JS所带来漂亮界面,然而,前端工程师除了UI重构外,还有非常重要的职责在正确的区域渲染出服务端的数据。毕竟,...

2717

扫码关注云+社区