ghz grpc 压力测试使用
grpc压力测试
通过ghz来对grpc接口进行压力测.
ghz是通过golang开发的针对grpc的压测工具,ghz基于proto或者protoset来发起grpc调用,类似常规的测试(ABtest),可以指定并发量,请求总数,请求频率。
并且能够输出html,csv,json,prometheus等让我们更加直观的看到接口接口性能情况.
链接
官方文档 github
windows安装以及踩坑
用下载好的zip也可以去 下载地址 不同的版本,我目前只在windows上使用.
使用protoc
ghz可以通过proto文件也可以通过protoset调用grpc服务. 我个人推荐使用protoset,因为提前使用protoc编译好了的protoset文件可以让ghz调用不用考虑到proto文件的一些引用问题.
protoc --include_imports -I . --descriptor_set_out=bundle.protoset *.proto
注意使用 –include_imports 不然很多依赖的proto不会编译进来
使用ghz执行测试
之后我们就可以使用ghz
解压配置并且配置环境变量
基于protoset执行测试
简单的调用
ghz --insecure --protoset bundle.protoset --call Service.method 127.0.0.1:7999
常用指令
--skipFirst grpc最好第一个跳过,因为比较慢--insecure 使用文本和非安全的连接-r|--rps=0 rps的速率限制,默认没有限制-c|--concurrency 指定并发数量 默认50-n| --total 一共请求的数量 默认200-d|--data 通过json的方式发送请求报文-D|--data-file 指定json文件调用数据-o|--output 输出路径-O|--format 输出的格式 summary, csv, json, pretty, html, influx-summary, influx-details调用相关:--protoset 指定protoset文件-i | --import-paths 指定proto文件的路径(用protoset不需要使用)--call 指点调用的方法(package.Service/Method' 或者 'package.Service.Method' )
输出结果
- count - 包含成功和失败的全部请求数量.
- total - 从开始到结束的全部时间.
- slowest - 最慢的请求
- fastest - 最快的请求
- average - 平均请求数量
- requests/sec - rps
通过-O 输出html等
ghz --insecure -o test.html -O html --protoset bundle.protoset --call Service.method 127.0.0.1:7999
ghz grpc 压力测试使用相关推荐
- 比特币现金压力测试超越了24小时创造新纪录
9月1日,比特币的支持者发起了一场由社区主导的压力测试,他们在一天内发送了数百万笔交易.事实上,协议的采访者在24小时内处理了220万个事务,全天处理了大量的数据块.但是压力测试的乐趣并没有结束,因为 ...
- 开源的负载测试/压力测试工具 NBomber
负载测试和压力测试对于确保 web 应用的性能和可缩放性非常重要.尽管它们的某些测试是相同的,但目标不同. 负载测试:测试应用是否可以在特定情况下处理指定的用户负载,同时仍满足响应目标.应用在正常状态 ...
- 网站压力测试工具webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...
- 二、多并发实现接口压力测试
一.flsak接口压力测试 import base64 import logging import os, cv2,time import urllib, glob import numpy as n ...
- 微软压力测试工具 web application stress
WEB服务器的压力测试工具~ 115808 2009年8月1日 lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网站,在程序投入运行时,可以用它来进行 ...
- python的web压力测试工具-pylot安装使用
pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相对稳定. 这里不得不鄙视一下apache 的ab测试,那结果真是让人蛋疼,同样的url,测试结果飘忽不定,看得人心惊肉 ...
- 压力测试 闪存_产品评测 | HPE Nimble AF全闪存系列,诠释真正的高端存储
随着AI.互联网.大数据等技术快速发展,企业对存储设备的需求已踏上一个更高的级别,高性能.低延时.大容量等多种需求的应用场景愈发常见,在这种情况下,寻求能够满足相应工作负载能力的存储设备已成为企业IT ...
- ubuntu mysql 改密码_tpcc-mysql 压力测试
若是想知道数据库或集群在业务环境中的性能,就需要压测. TPC-C TPC-C 是TPC组织发布的一个测试规范,用来模拟测试复杂的在线事务处理系统(OLTP). 它的测试结果包括每分钟事务数(tpmC ...
- 性能测试,负载测试,压力测试以及容量测试的联系与区别--网搜及总结
1.负载测试,英文是Load testing. 负载测试是性能测试的一种,测试一个应用在重负荷下的表现.例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败,以发现设计上的错误或验证系 ...
最新文章
- Python让你成为AI 绘画大师,简直太惊艳了!(附代码))
- shell 读取配置文件
- c++ string类 用法简介
- FixedSizeList的使用
- Bootstrap HTML编码规范之引入 CSS 和 JavaScript 文件
- Linux下的两个经典宏定义【转】
- 初试Spring Boot:构建第一个Web程序
- nginx之头部变量x_forwarded_for
- [matlab]简单的线性拟合以及作图
- TuX2:用于机器学习的分布式图计算
- Win10 时间与Internet时间同步超时
- 【Java微信公众平台开发模式+自定义按钮源码】
- win10开始菜单打不开,使用startmenu.diagcab进行修复
- 卷积神经网络西储大学轴承故障诊断(基于时频变换)
- 构造二叉树-前序遍历
- 【闲聊杂谈】Redis中的CAP理论
- 7.9模拟比赛解题报告
- 项目管理的十大知识领域
- ECDSA 和 ECDH
- 量子技术能将人“瞬间”转移到别的星球上吗?