hatoo/oha:8.4k Star 开源神器,让你的 Web 应用性能测试更直观!

告别枯燥的命令行,用 TUI 动画实时监控 HTTP 负载生成!
项目地址: https://github.com/hatoo/oha
oha,一个由 Rust 编写的轻量级 HTTP 负载生成器,灵感来源于 rakyll/hey。它最大的特点是拥有一个美观的 TUI (Terminal User Interface) 动画,让你在终端中也能实时监控 Web 应用的性能表现。不再是密密麻麻的文字,而是更直观、更友好的用户体验。
主要特点:
- TUI 动画: 实时显示负载生成的状态,告别枯燥的命令行。
- Rust 编写: 基于 Rust 语言,拥有高性能和内存安全。
- 多协议支持: 支持 HTTP/1.1、HTTP/2 和实验性的 HTTP/3 协议。
- 灵活的配置: 提供了丰富的选项,可以模拟各种复杂的负载场景。
- 动态 URL 生成: 支持使用正则表达式动态生成 URL,模拟更真实的流量。
- 从文件读取 URL: 可以从文件中读取 URL 列表,方便进行更真实的负载测试。
解决的痛点:
传统的 HTTP 负载生成工具通常只提供简单的命令行输出,缺乏直观的监控界面。oha 的出现,让开发者可以在终端中实时观察 Web 应用的性能表现,更加方便地进行性能测试和优化。
支持的平台:
- Linux (Ubuntu 18.04 gnome-terminal 测试通过)
- Windows 10 (Windows Powershell 测试通过)
- MacOS (iTerm2 测试通过)
- 通过 Docker 容器化运行
使用场景:
- Web 应用性能测试
- API 接口压力测试
- 服务器负载能力评估
如何使用:
oha 提供了丰富的命令行选项,可以满足各种不同的测试需求。以下是一些常用的使用示例:
-n <N_REQUESTS>
: 指定要发送的请求总数。-c <N_CONNECTIONS>
: 指定并发连接数。-z <DURATION>
: 指定测试持续时间。-q <QUERY_PER_SECOND>
: 限制每秒的请求数 (QPS)。--rand-regex-url
: 使用正则表达式生成随机 URL。--urls-from-file
: 从文件中读取 URL 列表。
例如,要向 https://example.com
发送 200 个请求,并发连接数为 50,可以使用以下命令:
oha -n 200 -c 50 https://example.com
怎么样,看完这个项目是不是觉得很棒? 这个项目对于需要进行 Web 应用性能测试的开发者来说非常有用! 快来转发给你的朋友们一起学习使用吧!