Pewpew HTTP 压力测试器开源项目

我要开发同款
匿名用户2021年10月27日
66阅读
开发技术GO语言
所属分类Google Go、性能测试和优化、开发工具
授权协议MIT

作品详情

Pewpew是一个适用于网站和Web服务的灵活的HTTP命令行压力测试器,它可以通过多种配置来冲击多个目标,模拟真实世界的负载并绕过缓存。

注意:Pewpew旨在帮助开发网络服务和网站的人,请负责任地使用它。

特性多种服务器测量模式支持正则表达式定义的目标可同时冲击多个目标没有runtime依赖,单个二进制文件有关计时、数据传输、状态代码等的统计信息将原始数据导出为TSV/JSON以进行分析、图表等。HTTP2支持IPV6支持大量命令行和配置文件选项(任意header、cookie、用户代理、timeout;忽略SSL证书、HTTP身份验证、Keep-Alive、DNS预取等)模式Pewpew具有两种独立的模式:压力和基准。

压力模式( pewpewstress)以服务器可以响应的速度发送请求(受并发限制)。这种模式通常最适合回答诸如“服务器返回1000个请求的速度有多快?”、“服务器是否会出现OOM?”、“我可以让服务器达到503吗?”,以及更多与过载相关的问题。

基准模式( pewpewbenchmark)以固定速率(每秒请求数)发送请求。这种模式通常最适合回答诸如“在延迟超过1秒之前服务器可以处理多少流量?”、“如果到服务器的流量被限制在100rps的速率,是否会有503秒?”,以及其他可测量的问题控制流量测试。

例子pewpewstress-n50www.example.com

向https://www.example.com发出50个请求。

pewpewbenchmark--rps100--duration60www.example.com

60秒内,每秒向 www.example.com 发送100个请求

pewpewstress-XPOST--body'{"hello":"world"}'-n100-c5-t2.5s-H"Accept-Encoding:gzip,Content-Type:application/json"https://www.example.com:443/pathlocalhost127.0.0.1/api向https://www.example.com:443/path、https://localhost、https://127.0.0.1/api三个目标都发出请求:

每个目标100个请求总数(总共300个)每个目标5个并发请求(同时发15个)内容:body {"hello":"world"}两个标题:Accept-Encoding:gzip和Content-Type:application/json每个请求在2.5秒后超时。

有关命令行选项的完整列表,请运行pewpewhelp或pewpewhelpstress

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论