使用Siege和wrk进行负载测试和基准测试

23
3个回答

57

负载测试和基准测试工具

按字母顺序列出。

ab: 缓慢且单线程,用C语言编写

apib: 具有大多数ApacheBench(ab)的功能,同时也是一个更现代的替代品,用C语言编写

baloo: 表达式端到端HTTP API测试变得简单易行,用Go (golang)编写

baton: HTTP负载测试,用Go (golang)编写

bombardier: 快速跨平台HTTP基准测试工具,用Go (golang)编写

curl-loader: 各种应用程序服务性能加载和流量生成,用C语言编写

drill: 受Ansible语法启发的HTTP负载测试应用程序,用Rust编写

fasthttploader: 基于fasthttp库的基准测试(有点像ab),具有自动调整和图表功能,用Go (golang)编写

fortio: 负载测试库和命令行工具和Web UI。允许指定一组每秒查询负载并记录延迟直方图和其他有用的统计信息,用Go (golang)编写

gatling: 基于Scala、Akka和Netty的高性能负载测试框架,用Scala语言编写

go-wrk:基于优秀的wrk工具(wg/wrk)的HTTP基准测试工具,用Go(golang)编写

goad:由AWS Lambda驱动的高度分布式负载测试工具,用Go(golang)编写

gobench:HTTP/HTTPS负载测试和基准测试工具,用Go(golang)编写

gohttpbench:在多核CPU上运行的类似ab的基准测试工具,用Go(golang)编写

hey:HTTP(S)负载生成器,替代ApacheBench(ab),以前称为rakyll/boom,用Go(golang)编写

htstress:多线程高负荷基准测试服务(>5K rps),用C/Linux编写

httperf:难以配置、速度慢且单线程,用C编写

inundator:简单高吞吐量的HTTP洪水程序,用C/Linux编写

jmeter:纯应用程序,旨在对静态和动态资源进行负载测试,用Java编写

k6:现代化的负载测试工具,支持ES6 JS脚本,支持HTTP/1.1、HTTP/2.0和WebSocket,用Go(golang)编写

Locust:易于使用、具有实时 Web UI、分布式负载测试工具。模拟并发用户群,它们的行为由您的 Python 代码定义。用 Python 编写。

mgun:现代化的负载测试 HTTP 服务器工具,用 Go(golang)编写。

Pounce:事件驱动、结果波动较大,有时比 htstress 更快的负载测试工具,用 C 编写。

Siege:慢且单线程的负载测试工具,用 C 编写。

Slapper:简单的负载测试工具,实时更新请求时间直方图,用 Go(golang)编写。

Slow cooker:专注于生命周期问题和长期运行测试的负载测试器,服务于一个可预测的长时间运行的负载和并发水平,用 Go(golang)编写。

Sniper:功能强大、高性能的 HTTP 负载测试工具,用 Go(golang)编写。

Tsung:模拟压力用户以测试基于 IP 的客户端/服务器应用的可扩展性和性能,支持 HTTP、WebDAV、SOAP、PostgreSQL、MySQL、LDAP 和 Jabber/XMPP 服务器,用 Erlang 编写。

Vegeta:HTTP 负载测试工具和库,用 Go(golang)编写。

weighttp:用C语言编写的多线程工具,但是没有keepalive时比htstress慢。

wrk:用C/Lua语言编写的多线程工具。

wrk2:是wrk的改进版,可以保持恒定的吞吐量和正确的延迟记录,用C/Lua语言编写。

yandex-tank:一款性能测试和负载测试工具,用Python/C|C++|Asm (phantom)语言编写。

以上说明来自这里


17

我使用过wrk和siege,siege是一个非常易于使用的工具,但我不确定它是否可以用于测试DELETE或PUT。

Wrk可以使用提供的lua脚本生成请求,因此删除和更新PUT将不成问题。而且wrk是一种可以超越NGINX静态文件服务器的工具,因此我认为它足够快以用于一般性能负载测试。

我从未使用过@Direvius建议的boom或Yandex.tank,基本上是因为wrk已经足够简单并符合我们的需求。但对我来说,JMeter太过复杂。


2

我从未使用过这些工具,但是听说过wrk有一些积极的意见。

我认为,你还应该尝试非常流行的Jmeter,或者可能会用于我们LT部门大多数Web服务的工具Yandex.tank


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接