压测工具使用(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 ...
随机推荐
- Springboot 实现api校验和登录验证
https://blog.csdn.net/qq_36085004/article/details/83348144 文章目录 API校验 场景 实现思路 代码 拦截器: 拦截器注册: 登录token ...
- Python:Day35 mysql基础
一.数据库管理系统DBMS 软件,存储数据 认证,授权,限制 SqlServer --- 微软(收费) Oracle,sqlite,access...MySQL 服务端和客户端 想要使用MySQL来存 ...
- 二、Oracle 数据库基本操作
一.oracle常用数据类型数字:number(p,s) p表示数字的长度包括小数点后的位数,s表示小数点后的位数固定长度字符:char(n):n表示最大长度,n即是最大也是固定的长度,当数据不满长度 ...
- MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK
安装好MyEclipse之后,在MyEclipse中开发项目时,默认使用的是MyEclipse是自带的JDK,如下图所示: 如果我们需要使用自己安装好的JDK,那么就需要在MyEclipse中重新设置 ...
- day14(2)---列表推导式、生成器推导式、字典推导式、三元表达式
一.列表推导式: ls = [元素表达式 for i in 可迭代对象 if 筛选条件] 案例: # -*- coding: utf-8 -*- '''列表生成式练习''' # 练习一(三元表达式): ...
- 444 D. Ratings and Reality Shows
一个模特有两种活动. ① 拍照片,挣钱 a. ②开演唱会,花费b 给定模特这两种工作的时间表. 模特可以选定一个时间举办一个座谈会,那么他拍照片的钱变c.开演唱会会花费d. 要求在模特座谈会之前和后l ...
- linux驱动之中断处理过程汇编部分
linux系统下驱动中,中断异常的处理过程,与裸机开发中断处理过程非常类似.通过简单的回顾裸机开发中断处理部分,来参考学习linux系统下中断处理流程. 一.ARM裸机开发中断处理过程 以S3C244 ...
- 调整代码生成工具Database2Sharp的Winform界面生成,使其易于列表工具栏的使用。
在Winform界面开发的时候,有时候我们客户喜欢把功能放在列表界面的顶部,这样界面和功能整齐放置,也是一种比较美观的方式,基于这种方式的考虑,改造了代码生成工具的Winform界面生成规则,把增删改 ...
- disconf原理 “入坑”指南
之前有了解过disconf,也知道它是基于zookeeper来做的,但是对于其运行原理不太了解,趁着周末,debug下源码,也算是不枉费周末大好时光哈 :) .关于这篇文章,笔者主要是参考discon ...
- 单链表的python实现
首先说下线性表,线性表是一种最基本,最简单的数据结构,通俗点讲就是一维的存储数据的结构. 线性表分为顺序表和链接表: 顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存 ...