github: github.com/fortio/fortio

日常开发中通常需要知道系统能承受的最大负载,不满足当前需求时对系统软硬件进行相应的优化或升级。今天推荐的工具 Fortio 就是用来测试系统能承受负载信息的工具,它运行一个设定的时间内固定的调用次数,或直到中断(在一个恒定的目标QPS,或每个连接/线程的最大速度/负载)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量,以检验系统的行为和特性并记录执行时间详细情况,以共我们发现系统可能存在的性能瓶颈、不能实时同步等问题。

除此之外 Fortio 还包括一组服务器端功能(类似于 httpbin),以帮助调试和测试服务:请求响应,包括头文件,添加延迟或错误代码的概率分布,tcp 回显,tcp 代理,https 等等,测试结果还能图形化展示或者 json 格式保存。

[安装]

go get fortio.org/fortio

[启动]

fortio server

启动服务成功后可以用浏览器访问它的 web 用户界面 http://localhost:8080/fortio/ 会看到一下页面:w14_mon_fortio.png

页面中填写测试对象相关信息后点击 Start 按钮开始,测试完成后跳转到测试结果页面,再结果页面,部分结果内容如下:w14_mon_fortio_result.png

除了 Web 端外,Fortio 还提供了强大的命令行参数的进行负载测试,终端中以下格式输入命令确认即进行测试并输出测试结果:fortio load -c 100 -n 20 -qps 1000 https://gocn.vip/

常用命令行参数如下:

以上表格中的都是常用的基本命令参数,若更多命令参数请在终端输入 fortio help 查看。

总结

Fortio 是非常成熟的一个负载测试工具,维护者们也很活跃;可以用它负载测试,还可以把集成到企业内部测试工具中构建出更强大的测试工具,Fortio 的代码质量相当好,感兴趣可以阅读其源码学习并做出贡献。

更多参数可参考:5axxw.com/wiki/content/yw5s93

参考资料

  • Fortio (https://github.com/fortio/fortio)

  • Fortio Documentation(https://pkg.go.dev/fortio.org/fortio/version)

负载测试工具之Fortio的更多相关文章

  1. 开源负载测试工具k6比JMeter更容易的5件事

    k6是GitHub上提供的开源负载测试工具.它是用Go编写的,并运行用JavaScript编写的测试脚本.它受到了开发人员,测试人员和DevOps团队的强烈兴趣,并拥有超过4400名GitHub明星. ...

  2. HTTP/HLS/RTMP超级负载测试工具

    这个负载测试工具是网游分享的工具,可以在http://blog.csdn.net/win_lin/article/details/11835011 或者https://github.com/winli ...

  3. Locust分布式负载测试工具入门

    忽略元数据末尾 回到原数据开始处 Locust简介 Locust是一个简单易用的分布式负载测试工具,主要用来对网站进行负载压力测试. 以下是github上的仓库地址 https://github.co ...

  4. HTTP/HLS/RTMP超级负载测试工具(转)

    这个负载测试工具是网游分享的工具,可以在http://blog.csdn.net/win_lin/article/details/11835011 或者https://github.com/winli ...

  5. loadrunner(预测系统行为和性能的负载测试工具)

    LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试.企业使用LoadRu ...

  6. Apache JMeter开源压力测试/负载测试工具 2.12 官方最新版

    软件介绍   Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用. 如何学 ...

  7. 网站压力负载测试工具:Web版已逝,只好送大伙单机版

    前言: 最近老板资金周转出了点问题,工资好久没发了,于是暂闲置在家,静待老板弄到钱东山再起的消息: QQ群里,偶尔不时的会有人问,原来的分布式网站负载工具怎么下载不了啦?或者不能用啦?之类的问题. 我 ...

  8. 系统负载测试工具-LoadRunner

    LoadRunner的主要作用是对系统压力测试进行分析 与之相类似的工具是:badboy:录制脚本工具+jmeter:分析结果工具

  9. apache 负载测试工具 ab

    1.ab工具是apache自带的工具,可以测试服务器的负载能力 2.ab工具的参数 -v:版本 -c:并发数 -n:请求数 -t: 测试所进行的最大秒数 3.例子:ab -c 100 -n 100 - ...

  10. Web性能和负载测试工具补充

    压力测试文档:https://yq.aliyun.com/articles/377543https://www.cnblogs.com/ahjxxy/archive/2012/09/17/268899 ...

随机推荐

  1. 解决Mac安装软件的“已损坏,无法打开...”问题

    解决Mac安装软件的"已损坏,无法打开. 您应该将它移到废纸篓"问题 不管在安装时会遇到以已损坏无法打开的困惑, 解决: 一.允许"任何来源"开启 苹果从mac ...

  2. 开发一个属性名提示友好的Vue组件

    这两天开发了一个组件,开发好之后想着先本地npm link 用一用试试,然后在vue3 项目中link了过来,发现VSCODE没有属性提示,鉴于考虑到一个好的组件应该是提示友好的,于是给组件准备加上属 ...

  3. 为什么Java已经不推荐使用Stack了?

    为什么不推荐使用Stack Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque 为什么不推荐使用 性能低:是因为 Stack 继承自 Vector, 而 Vector 在每个方法 ...

  4. 小tips:tomcat下JSP页面引用css、js等资源路径404问题

    在JSP页面头部添加如下代码: <% String path = request.getContextPath(); String basePath = request.getScheme() ...

  5. QT原理与源码分析之QT反射机制原理

    QT反射机制原理 本文将介绍QT反射机制创建QT对象实例的原理和流程以及源代码. 文章目录 QT反射机制创建QT对象实例 原理 流程 源码 QT反射机制创建QT对象实例 QT框架提供的基于元对象的反射 ...

  6. 音视频入门-4-ffmpeg命令快速体验音视频开发/ ffmpeg编译过程经历的99八十一难

    <1>我的实验所使用的视频文件告知读者 1. 这是我在ubuntu环境上实验使用的视频文件, 我在windows上查看了详细信息,然后拖进ubuntu内,重命名为video-test.mp ...

  7. Unity中的光源类型(向前渲染路径进行光照计算)

    Unity中的光源类型 Unity中共支持4种光源类型: 平行光 点光源 聚光灯 面光源(在光照烘焙时才可以发挥作用) 光源的属性: 位置 方向(到某个点的方向) 颜色 强度 衰减(到某个点的衰减) ...

  8. acme+cloudflare生成免费证书(自动续期)

    acme DNSapi acme DNSapi的作用是在申请证书时使用dns交易,acme可以通过dnsapi在对应的dns管理平台提交对应的dns记录.玩过证书的朋友都知道,证书申请时有三种验证方式 ...

  9. springmvc参数传递不给参数值默认值设置方法

    @RequestMapping("hello") public voiid test001(@RequestParam(defaultValue = "11") ...

  10. USB协议详解第5讲(USB描述符-接口描述符)

    1.USB描述符 USB描述符有设备描述符.标准配置描述符.接口描述符.端点描述符.字符串描述符,HID设备有HID描述符.报告描述符和物理描述符.今天主要是学习USB接口描述符的组成. 2.接口描述 ...