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 压力测试使用相关推荐

  1. 比特币现金压力测试超越了24小时创造新纪录

    9月1日,比特币的支持者发起了一场由社区主导的压力测试,他们在一天内发送了数百万笔交易.事实上,协议的采访者在24小时内处理了220万个事务,全天处理了大量的数据块.但是压力测试的乐趣并没有结束,因为 ...

  2. 开源的负载测试/压力测试工具 NBomber

    负载测试和压力测试对于确保 web 应用的性能和可缩放性非常重要.尽管它们的某些测试是相同的,但目标不同. 负载测试:测试应用是否可以在特定情况下处理指定的用户负载,同时仍满足响应目标.应用在正常状态 ...

  3. 网站压力测试工具webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...

  4. 二、多并发实现接口压力测试

    一.flsak接口压力测试 import base64 import logging import os, cv2,time import urllib, glob import numpy as n ...

  5. 微软压力测试工具 web application stress

    WEB服务器的压力测试工具~ 115808 2009年8月1日 lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网站,在程序投入运行时,可以用它来进行 ...

  6. python的web压力测试工具-pylot安装使用

    pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相对稳定. 这里不得不鄙视一下apache 的ab测试,那结果真是让人蛋疼,同样的url,测试结果飘忽不定,看得人心惊肉 ...

  7. 压力测试 闪存_产品评测 | HPE Nimble AF全闪存系列,诠释真正的高端存储

    随着AI.互联网.大数据等技术快速发展,企业对存储设备的需求已踏上一个更高的级别,高性能.低延时.大容量等多种需求的应用场景愈发常见,在这种情况下,寻求能够满足相应工作负载能力的存储设备已成为企业IT ...

  8. ubuntu mysql 改密码_tpcc-mysql 压力测试

    若是想知道数据库或集群在业务环境中的性能,就需要压测. TPC-C TPC-C 是TPC组织发布的一个测试规范,用来模拟测试复杂的在线事务处理系统(OLTP). 它的测试结果包括每分钟事务数(tpmC ...

  9. 性能测试,负载测试,压力测试以及容量测试的联系与区别--网搜及总结

    1.负载测试,英文是Load testing. 负载测试是性能测试的一种,测试一个应用在重负荷下的表现.例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败,以发现设计上的错误或验证系 ...

最新文章

  1. Python让你成为AI 绘画大师,简直太惊艳了!(附代码))
  2. shell 读取配置文件
  3. c++ string类 用法简介
  4. FixedSizeList的使用
  5. Bootstrap HTML编码规范之引入 CSS 和 JavaScript 文件
  6. Linux下的两个经典宏定义【转】
  7. 初试Spring Boot:构建第一个Web程序
  8. nginx之头部变量x_forwarded_for
  9. [matlab]简单的线性拟合以及作图
  10. TuX2:用于机器学习的分布式图计算
  11. Win10 时间与Internet时间同步超时
  12. 【Java微信公众平台开发模式+自定义按钮源码】
  13. win10开始菜单打不开,使用startmenu.diagcab进行修复
  14. 卷积神经网络西储大学轴承故障诊断(基于时频变换)
  15. 构造二叉树-前序遍历
  16. 【闲聊杂谈】Redis中的CAP理论
  17. 7.9模拟比赛解题报告
  18. 项目管理的十大知识领域
  19. ECDSA 和 ECDH
  20. 量子技术能将人“瞬间”转移到别的星球上吗?

热门文章

  1. Charles修改请求和返回
  2. Cookie存储url防止转义,后台解析url执行ulr重定向,跳转指定的url
  3. Sectigo EV代码签名证书申请教程
  4. 城市公交查询系统c语言,城市公交查询系统.doc
  5. 什么是综合布线系统?
  6. unity开发工具:文本颜色赋值
  7. HTML第三次作业——Tab切换和轮播图
  8. ip和mac地址格式填报校验
  9. 模块5-6 冗余网络
  10. 视频教程-房地产销售管理系统商业项目视频课程-Java