负载测试工具之Fortio
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的更多相关文章
- 开源负载测试工具k6比JMeter更容易的5件事
k6是GitHub上提供的开源负载测试工具.它是用Go编写的,并运行用JavaScript编写的测试脚本.它受到了开发人员,测试人员和DevOps团队的强烈兴趣,并拥有超过4400名GitHub明星. ...
- HTTP/HLS/RTMP超级负载测试工具
这个负载测试工具是网游分享的工具,可以在http://blog.csdn.net/win_lin/article/details/11835011 或者https://github.com/winli ...
- Locust分布式负载测试工具入门
忽略元数据末尾 回到原数据开始处 Locust简介 Locust是一个简单易用的分布式负载测试工具,主要用来对网站进行负载压力测试. 以下是github上的仓库地址 https://github.co ...
- HTTP/HLS/RTMP超级负载测试工具(转)
这个负载测试工具是网游分享的工具,可以在http://blog.csdn.net/win_lin/article/details/11835011 或者https://github.com/winli ...
- loadrunner(预测系统行为和性能的负载测试工具)
LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试.企业使用LoadRu ...
- Apache JMeter开源压力测试/负载测试工具 2.12 官方最新版
软件介绍 Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用. 如何学 ...
- 网站压力负载测试工具:Web版已逝,只好送大伙单机版
前言: 最近老板资金周转出了点问题,工资好久没发了,于是暂闲置在家,静待老板弄到钱东山再起的消息: QQ群里,偶尔不时的会有人问,原来的分布式网站负载工具怎么下载不了啦?或者不能用啦?之类的问题. 我 ...
- 系统负载测试工具-LoadRunner
LoadRunner的主要作用是对系统压力测试进行分析 与之相类似的工具是:badboy:录制脚本工具+jmeter:分析结果工具
- apache 负载测试工具 ab
1.ab工具是apache自带的工具,可以测试服务器的负载能力 2.ab工具的参数 -v:版本 -c:并发数 -n:请求数 -t: 测试所进行的最大秒数 3.例子:ab -c 100 -n 100 - ...
- Web性能和负载测试工具补充
压力测试文档:https://yq.aliyun.com/articles/377543https://www.cnblogs.com/ahjxxy/archive/2012/09/17/268899 ...
随机推荐
- C# 模拟http请求出现 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作[windows服务器]
系统里面用到C#模拟Http请求,上线到服务器后,发现日志中大量出现"由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作" 或"通常每个套接字地址(协议/网络地址/ ...
- 【YashanDB知识库】YAS-02024 lock wait timeout, wait time 0 milliseconds
[标题]错误码处理 [问题分类]锁等待超时 [关键字]YAS-02024 [问题描述]执行语句时候,因锁等待超时执行语句失败 [问题原因分析]数据库默认锁等待时间为0秒,如果执行语句存在锁等待过长会执 ...
- C++ shared_ptr是线程安全的吗?
导读:C++面试中有时会有这样一个问题,shared_ptr是线程安全的吗?对此问题,我们需要从三个并发场景进行考虑,拷贝shared_ptr的安全性.对shared_ptr赋值的安全性和读写shar ...
- 用 SQL 写的俄罗斯方块游戏「GitHub 热点速览」
在开始介绍上周热门开源项目之前,要插播一条开源新闻:Nginx 已正式迁移至 GitHub. 近日,Nginx 官方宣布将 Nginx 开源项目,从 Mercurial 迁移至 GitHub 代码托管 ...
- Angular 18+ 高级教程 – 大杂烩
前言 本篇记入一些 Angular 的小东西. Angular 废弃 API 列表 Docs – Deprecated APIs and features Using Tailwind CSS wit ...
- Angular 18+ 高级教程 – Component 组件 の Control Flow
前言 Control Flow 是 Angular v17 版本后推出的新模板语法,用来取代 NgIf.NgForOf.NgSwitch 这 3 个 Structure Directive. Stru ...
- Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
#!/bin/bash # Cross-compile environment for Android on ARM64 and x86 # # Contents licensed under the ...
- (九)Redis 哨兵机制与集群
主从复制中,如果从库发生故障了,客户端可以继续向主库或其他从库发送请求,但是如果主库发生故障了肿么办呢?读请求,那还可以由从库继续提供服务,写请求就么得办法了.此时,哨兵机制就登场了,解决3个问题: ...
- Shell分析服务器日志命令
1.查看有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 2.查看某一个页面被访问的次数: grep "/index.php" ...
- K8S基本组件梳理
Master组件 apiserver:对资源对象进行curd操作,例如pod和server:将所有的状态储存到etcd中. schedule:监控未调度的pod,根据pod的资源需求.资源可用性和其他 ...