压测工具使用(vegeta)

时间:2022-11-05 00:12:11

一、压测工具vegeta

1、介绍

Vegeta 是一个用 Go 语言编写的多功能的 HTTP 负载测试工具,它提供了命令行工具和一个开发库。

官方地址:https://github.com/tsenart/vegeta

2、安装 Vegeta

wget https://github.com/tsenart/vegeta/releases/download/v7.0.3/vegeta-7.0.3-linux-amd64.tar.gz
tar xf vegeta-7.0.3-linux-amd64.tar.gz
mv vegeta /usr/local/bin/
#查看版本
vegeta -version

  

3、Vegeta 用法(常用参数)

 -cpus int:    使用 CPU 的数量 (默认为  个)
-profile string: 指定在执行期间启用哪个分析器,支持 cpu 和 heap。
-version: 打印版本并退出。attack command:
-body string: 指定请求主体文件里的内容。
-cert string: 指定用于 HTTPS 请求的 PEM 格式的客户端证书文件。如果 -key 未指定,它会被设置为这个标志的值。
-connections int: 指定每个目标主机打开的空闲连接的最大数目,默认值为 。
-duration duration: 指定发送请求到目标主机的时长,用 表示永久。
-header value: 指定目标的请求头,可以重复指定多个请求头。
-http2: 指定是否向支持的服务器发送 HTTP/ 请求,默认为:true。
-insecure: 指定是否忽略无效的服务器 TLS 证书。
-keepalive: 指定是否使用持久链接,默认值为:true。
-key string: 指定 HTTPS 请求中使用的 PEM 编码的 SSL 客户端证书私钥文件。
-laddr value: 指定要使用的本地 I P地址,默认值为:0.0.0.0。
-lazy: 指定是否使用延迟模式读取目标。
-output string: 指定输出文件的位置,默认为标准输出。
-rate uint: 指定每秒钟对目标发送的请求数,默认值为:。
-redirects int: 指定每个请求的重定向的最大次数,默认为 次。当值为 -, 不会遵循重定向但响应标记为成功。
-root-certs value: 指定可信的 TLS 根证书文件,多个的情况下使用逗号分隔。如果未指定,使用系统默认的 CA 证书。
-targets string: 指定目标文件,默认为标准输入。
-timeout duration: 指定每个请求的超时时间,默认值为 30s。
-workers uint: 指定初始化进程数量,默认值为 。
-inputs string: 指定报告输入文件,默认为标准输入。
-output string: 指定报告输出文件,默认为标准输出。
-reporter string: 指定要生成的报告的格式,支持 text,json, plot, hist[buckets]。默认为文本。dump command:
-dumper string: 指定转存文件,支持 json, csv 格式。默认为 json 格式。
-inputs string: 指定要转存的输入文件,默认为标准输入,指定多个用逗号分隔。
-output string: 指定要转存的输出文件,默认为标准输出。

4、Vegeta 使用实例

#使用标准输入进行压测并生成报告
[root@localhost1]echo "GET http://10.0.0.141"| vegeta attack -rate=500 -connections=1 -duration=1s | tee results.bin | vegeta report
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:(错误集)

  

#经过测试感觉效果不是很好(比ab强一些)

压测工具使用(vegeta)的更多相关文章

  1. Http压测工具wrk使用指南

    用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持 ...

  2. web压测工具http_load原理分析

    一.前言 http_load是一款测试web服务器性能的开源工具,从下面的网址可以下载到最新版本的http_load: http://www.acme.com/software/http_load/ ...

  3. [软件测试]网站压测工具Webbench源码分析

    一.我与webbench二三事 Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能.Webbench ...

  4. Http压测工具wrk使用指南【转】

    用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持 ...

  5. python服务端多进程压测工具

    本文描述一个python实现的多进程压测工具,这个压测工具的特点如下: 多进程 在大多数情况下,压测一般适用于IO密集型场景(如访问接口并等待返回),在这种场景下多线程多进程的区分并不明显(详情请参见 ...

  6. 内存压测工具Memtester

    在做压力测试时,发现一个内存压测工具Memtester,可以随意设置内存占用大小,非常方便 下载地址:http://pyropus.ca/software/memtester/old-versions ...

  7. Http 压测工具 wrk 基本使用

    Http 压测工具 wrk 基本使用 Intro wrk 是一款现代HTTP基准测试工具,能够在单个多核CPU上运行时产生显着负载.它将多线程设计与可扩展事件通知系统(如epoll和kqueue)结合 ...

  8. 003_ab http压测工具

    一. ab -r -k -c 20000 -n 25000000 https://www.uuwatch.me/abtest #ab压测工具单机最大并发为20000,可以在多台机器上执行以增大并发 y ...

  9. wrk压测工具使用

    介绍分为四部分 1.wrk简述 2.wrk安装 3.wrk运行参数 4.wrk高级用法 1.wrk简述 当使用ab做压测的时候发现,ab的客户端消耗很大,而且测试时性能较差,测试redis,sprin ...

随机推荐

  1. Spring学习笔记 5. 尚硅谷_佟刚_Spring_自动装配

    1,回顾以前的做法 一个人有姓名,有住址,有一辆车.其中住址和车也是一个类,这种情况下不用自动装配是十分容易实现的 (1)Person类 package com.zsq; public class P ...

  2. Stanford机器学习---第九讲. 聚类

    原文:http://blog.csdn.net/abcjennifer/article/details/7914952 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  3. hrbustoj 1429:凸多边形(计算几何,判断点是否在多边形内,二分法)

    凸多边形 Time Limit: 2000 MS    Memory Limit: 65536 K Total Submit: 130(24 users)   Total Accepted: 40(1 ...

  4. 使用GraceNote Web API发展Mac发现音乐信息的应用

    好久没有写博客,最近各种忙,特别忙里忙,今晚难得清闲.写最近完成下一个博客任务的摘要:使用GraceNote的Web API开发一个查询的音乐信息的应用,事实上,并在这些功能的前GraceNote S ...

  5. SQL 范式(转载)

    装载于"http://www.cnblogs.com/KissKnife/ 理论性的东西,往往容易把人人都看得懂的东西写成连鬼都看不懂,近似于主任医生开的药方.从前学范式的时候,把书中得概念 ...

  6. 利用Fiddler抓取websocket包

    一.利用fiddler抓取websockt包 打开Fiddler,点开菜单栏的Rules,选择Customize Rules... 这时会打开CustomRules.js文件,在class Handl ...

  7. Java 非线程安全的HashMap如何在多线程中使用

    Java 非线程安全的HashMap如何在多线程中使用 HashMap 是非线程安全的.在多线程条件下,容易导致死循环,具体表现为CPU使用率100%.因此多线程环境下保证 HashMap 的线程安全 ...

  8. iframe 背景透明设置--兼容IE

    iframe标签添加: allowTransparency="true"属性. 子文件body背景设置透明: background-color: transparent;.

  9. Infiniband 网络性能测试

    1.带宽测试   在server端执行 [ibtests]# ib_send_bw -a -c UD -d mlx4_0 -i 1 ---------------------------------- ...

  10. 12外观模式Facade

    一.什么是外观模式 Facade模式也叫外观模式,是由GoF提出的 23种设计模式中的一种.Facade模式为一组具 有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面.这个一致的简单的 ...