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. 服务器文件打压缩包下载(java)

    public void download(HttpServletRequest request, HttpServletResponse response){ try { String downloa ...

  2. 在Activity中测量控件宽高的三种方式

    在进行Android开发时,有时需要测量控件的宽和高,常用的方式有以下三种: (1)重写onWindowFocusChanged(hasFocus: Boolean)方法,在这个方法内获取控件的宽高 ...

  3. SD卡的基本知识与选购指南

    1.SD卡与TF卡 SD 卡:又叫标准 SD 卡,其尺寸大小为 32 x 24 x 2.1 mm ,一般用于数码相机.声卡和采集卡等设备. TF 卡:又叫 micro SD 卡,其尺寸大小为 15 x ...

  4. [使用目前最新版]HybridCLR6.9.0+YooAsset2.2.4实现纯C# Unity热更新方案 (一)

    1.前言 什么是热更新 游戏或者软件更新时,无需重新下载客户端进行安装,而是在应用程序启动的情况下,在内部进行资源或者代码更新 Unity目前常用热更新解决方案 HybridCLR,Xlua,ILRu ...

  5. std::vector::reserve

    std::vector::reserve 函数在 C++ 中用于预分配内存,避免在元素增加时多次重新分配内存,从而提高性能. 它最常用于需要频繁向 vector 中添加元素,并且可以预估容器的最终大小 ...

  6. BC1.2和PD 充电的区别

    USB Battery Charging Specification 1.2(BC1.2)和 USB Power Delivery(USB PD)是两个不同的充电标准,它们在应用场景.充电能力.充电协 ...

  7. ARM SMMU的原理与IOMMU

    首先放一个社区iommupatch的网址:https://lore.kernel.org/linux-iommu/ 1: arm smmu的原理 1.1: smmu 基本知识 如上图所示,smmu 的 ...

  8. js 中什么情况下返回 undefined 值

    1. 声明变量没有赋值 <script> let num console.log(num) //undefined </script> 2. 访问不存在的属性 <scri ...

  9. These dependencies were not found: * core-js/modules/es.array.push.js in ./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js

    yarn add core-js  安装core-js包 : 出现这个问题的原因:因为vue-admin-template的package.json里没写这个包core-js,然后再咱们yarn装包的 ...

  10. 55.父页面通过ifaram嵌套子页面,如何固定子页面菜单

    使用固定定位 :