压测工具使用(vegeta)
一、压测工具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)的更多相关文章
- Http压测工具wrk使用指南
用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持 ...
- web压测工具http_load原理分析
一.前言 http_load是一款测试web服务器性能的开源工具,从下面的网址可以下载到最新版本的http_load: http://www.acme.com/software/http_load/ ...
- [软件测试]网站压测工具Webbench源码分析
一.我与webbench二三事 Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能.Webbench ...
- Http压测工具wrk使用指南【转】
用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持 ...
- python服务端多进程压测工具
本文描述一个python实现的多进程压测工具,这个压测工具的特点如下: 多进程 在大多数情况下,压测一般适用于IO密集型场景(如访问接口并等待返回),在这种场景下多线程多进程的区分并不明显(详情请参见 ...
- 内存压测工具Memtester
在做压力测试时,发现一个内存压测工具Memtester,可以随意设置内存占用大小,非常方便 下载地址:http://pyropus.ca/software/memtester/old-versions ...
- Http 压测工具 wrk 基本使用
Http 压测工具 wrk 基本使用 Intro wrk 是一款现代HTTP基准测试工具,能够在单个多核CPU上运行时产生显着负载.它将多线程设计与可扩展事件通知系统(如epoll和kqueue)结合 ...
- 003_ab http压测工具
一. ab -r -k -c 20000 -n 25000000 https://www.uuwatch.me/abtest #ab压测工具单机最大并发为20000,可以在多台机器上执行以增大并发 y ...
- wrk压测工具使用
介绍分为四部分 1.wrk简述 2.wrk安装 3.wrk运行参数 4.wrk高级用法 1.wrk简述 当使用ab做压测的时候发现,ab的客户端消耗很大,而且测试时性能较差,测试redis,sprin ...
随机推荐
- 发现电脑上装着liteide,就用golang做一个TCP通讯测试(支持先启动client端和断线重连)
1.参考https://www.cnblogs.com/yin5th/p/9274495.html server端 main.go package main import ( "fmt&qu ...
- [ZJOI2012]灾难
嘟嘟嘟 偶尔翻到的一道题. 50分暴力很好想,对于每一个点进行一次拓扑排序,然后每一次别memset,只清空走过的点,能拿到70分. 正解好像也挺好想,是一个叫"灭绝树"的东西. ...
- (五)JavaScript 变量
JavaScript 变量 与代数一样,JavaScript 变量可用于存放值(比如 x=5)和表达式(比如 z=x+y). 变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 ...
- 【Flask】abort和errorhandler、app_errorhandler进行请求中断及自定义异常处理
在view函数中,如果需要中断request,可以使用abort(500)或者直接raise exception.当然我们还需要返回一个出错信息给前端,所以需要定制一下ErrorHandler.一般只 ...
- C语言中数组变量和指针变量
指针变量为什么需要类型? 数组变量和指针变量在使用sizeof时不同,sizeof(数组变量)是数组长度,sizeof(指针变量)是存储int的字节长度4或者8(64bit). 数组变量在参数传递中, ...
- SQL Server连接查询之Cross Apply和Outer Apply的区别及用法(转载)
先简单了解下cross apply的语法以及会产生什么样的结果集吧!示例表: SELECT * FROM tableA CROSS APPLY tableB 两张表直接连接,不需要任何的关联条件,产生 ...
- React-安装和配置redux调试工具Redux DevTools
chrome扩展程序里搜索Redux DevTools进行安装 新建store的时候,进行如下配置. import { createStore, applyMiddleware ,compose} f ...
- [书籍]重温《Framework Design Guidelines》
1. 前言 最近重温了<Framework Design Guidelines>. <Framework Design Guidelines>中文名称为<.NET设计规范 ...
- ORM 多表操作查询及增删改查
------------------------------------------只有对前途乐观的人,才能不怕黑暗,才能有力量去创造光明.乐观不是目的,而是人生旅途中的一种态度. 多表操作 创建模型 ...
- H5 29-div和span标签
29-div和span标签 --> 努力到无能为力, 拼搏到感动自己 --> 我是div 我是div 我是span 我是span --> --> 我是段落 我是标题 --> ...