vegeta 压测使用简单介绍

博客介绍了安装好vegeta后可直接使用,给出使用命令及各参数含义,如指定目标文件、请求数、连接数、请求时长等。还对响应结果进行解释,包括请求总数、攻击时间、执行时间、请求大小、成功率、状态码等信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在安装好了vegeta 之后,即可直接使用
2.使用方式:执行如下命令
vegeta attack -targets=“test3.txt” -rate=500 -connections=1 -duration=1s | tee results.bin | vegeta report

命令含义:
attack 打印版本并且退出
-targets=“test3.txt” 指定目标文件,默认为标准输入
-rate=500 指定每秒钟对目标发送的请求数(每秒请求多少次)
-connections=1 指定每个目标主机打开的空闲连接的最大数目
-duration=1s 指定发送请求到目标主机的时长,用 0 表示永久。(请求多少秒)

响应解释
Requests(请求) [total(请求总数), rate(请求速度)] 500, 501.00
Duration(攻击) [total(总共攻击与等待的时间), attack(攻击的时间), wait(等待时间)] 998.571503ms, 997.999647ms, 571.856µs
Latencies(执行时间) [mean(单个请求的平均值), 50(50%请求达到的时间), 95, 99, max(单个最大请求时间)] 1.088556ms, 561.997µs, 2.414125ms, 12.116341ms, 22.107566ms
Bytes In(请求的大小(字节)) [total(请求总大小), mean(请求平均大小)] 306000, 612.00
Bytes Out(字节输出) [total(总输出), mean(平均输出)] 0, 0.00
Success(请求成功率) [ratio(请求成功率)] 100.00%
Status Codes [code(状态码):count(请求次数)] 200:500
Error Set:(错误集)

试领域,有多种工具可供选择,每种工具都有其特点和适用场景。以下是一些常用的试工具推荐: 1. **JMeter** 是一款开源免费的产品,最初被设计用于Web应用功能使用,如今被广泛应用于性能试[^3]。它支持多种协议,如HTTP、HTTPS、FTP等,并且能够模拟高并发用户来试Web应用程序的性能。JMeter适用于纯接口的部分场景(对接口调用顺序无严格要求)试,但需要注意使用技巧以达到理想结果。 2. **Postman** 虽然主要用于API开发和试,但它也具备一定的自动化试能力,适合快速试和调试单个接口[^2]。对于需要进行简单的负载试的情况,可以通过Postman的集合运行器(Collection Runner)来执行多次请求以模拟负载。 3. **SoapUI** 是一个全面的接口试工具,特别适合于Web服务和SOAP API的试[^2]。它可以用来创建复杂的试场景,包括数据驱动试、安全试等功能。尽管它主要针对的是基于XML的服务,但是也能很好地支持RESTful Web Services。 4. **Locust** 是另一种流行的开源负载试工具,允许您用Python编写试脚本,这使得非技术人员更容易上手[^1]。Locust的一个显著特点是它可以实时地显示试结果,并且可以很容易地扩展到成千上万的用户。 5. **Gatling** 也是一个强大的开源性能试工具,专为Web应用程序设计。它提供了简洁的DSL(领域特定语言),易于编写试脚本,并能生成详细的HTML报告。 6. **Apache Bench (ab)** 是一个轻量级的命令行工具,非常适合做基础的HTTP服务器基准试。它简单易用,但缺乏高级功能,比如分布式试。 7. **Tsung** 是由Erlang编写的多协议分布式负载试工具,能够模拟大量用户同时访问系统,非常适合进行大规模的试。 8. **BlazeMeter** 提供了一个云平台来进行性能试,它兼容JMeter脚本,而且提供额外的功能如地理分布试、CI/CD集成等。 9. **k6** 是现代的开源负载试工具,专为DevOps和敏捷工作流程而构建。它通过JavaScript编写试逻辑,可以直接与CI管道集成。 10. **Vegeta** 是Go语言实现的一个多功能HTTP负载生成器,具有很高的灵活性和可定制性,适合那些希望对网络层进行细粒度控制的专业人士。 根据具体的试需求,例如是否需要图形界面、支持哪些协议、能否处理复杂的业务流程以及预算等因素,可以选择最适合项目的试工具。如果是在Kubernetes环境中进行试,则还需要考虑工具如何与K8s生态系统集成,以及是否能够有效地管理和监控容器化应用中的试执行。 ```python # 示例:使用 Locust 编写一个简单的 HTTP GET 请求试脚本 from locust import HttpUser, task, between class WebsiteUser(HttpUser): wait_time = between(1, 3) # 用户等待时间在1到3秒之间随机 @task def load_homepage(self): self.client.get("/") # 发送GET请求至网站根路径 ``` 上述代码展示了如何利用Locust框架定义一个基本的用户行为模型,其中`load_homepage`方法代表了用户将执行的任务——向网站主页发送GET请求。实际试中可以根据具体需求添加更多任务并调整参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值