ghz: grpc load testing tool

栏目: 服务器 · 发布时间: 6年前

服务支持了Grpc,服务的性能怎么样,相比我们都是非常关注的。如何做load test 是最近我在做的事情。

我们知道大概有两种方式,第一种是自己输出一个解决方案,最终需要输出的可能是一个可视化的站点;另一种方案,就是使用已经成熟的方案。我们可能知道很多http请求的load test方案,可Grpc相关的能找到的并不多,我在社区中找到了一个开源方案,ghz

ghz包含两部分内容,project和report。我觉得project可以理解成一个grpc服务,可以包含多个report,也就是每次跑出来的性能报告。

ghz提供的方案思路是这样的,通过模拟请求的方式数据各项性能指标存储到数据库,然后从数据库取出来通过图形化方式展示出来。

ghz是用golang实现的,提供了一个report包,另外提供了命令行 工具 和一个web应用服务

首先,模拟请求生成指标数据,提供了两种方式。一种是可以通过ghz命令行生成报告,另外一种就是调用report包输出报告。

然后,需要部署ghz web站点。GitHub上已经有一些release包,解压之后有一个ghz.exe和 一个ghz-web.exe文件,可通过 https://github.com/bojand/ghz/releases 下载,我下载的版本是v0.37.0。具体的部署步骤可参考 https://ghz.sh/docs/web/intro 。在选择数据库时需要注意,sqlite和 mysql 都可能都导致web应用启动失败,最后我使用了postgres

最后,把数据保存到数据库,ghz的web站点提供了api,可以通过api 把报告数据post到数据库。这样web站点就可以看到对应project的报告了

在导入数据的步骤,如果使用ghz命令是非常人工的,因为web应用创建的project信息太少,导致在web上不能直接运行,如有需要,可自行扩展。目前我的做法是,部署一个应用,用report包提供的方法生成报告,然后post到数据库,这个应用只需要配置grpc的参数即可跑出报告。

附ghz源码: https://github.com/bojand/ghz

如有问题或者更正信息,欢迎访问 https://github.com/figodeng/QAndA


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

互联网+供应链金融创新

互联网+供应链金融创新

宝象金融研究院、零壹研究院 / 电子工业出版社 / 2016-6 / 65.00

供应链金融是一种带有模式创新的金融服务,它真正渗透到了产业运行的全过程。然而,如何探索这种模式的规律?特别是在"互联网+”时代,不同的产业主体如何更好地利用供应链金融促进产业的发展,成为了众多企业关注的话题。零壹财经攥写的《互联网+供应链金融创新》正是立足于这一点,全面总结反映了中国各行各业,以及不同的经营主体如何在立足产业运营的基础上,通过供应链金融来促进产业的发展具有很好的借鉴意义,其丰富的案......一起来看看 《互联网+供应链金融创新》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具