压力测试

郭志伟DavidGuo · · 3540 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

项目:

https://github.com/nightlegend/stress_testing

介绍:


项目是用golang 实现,引用vegeta 的lib来实现压力测试,其实vegeta部分已经实现的功能比较完善了,但是上手还是有点难度的,在实际使用中,包装一层,这样使用起来比较简单,对有这方面的需求但是不想花太多精力,可以考虑。

项目内容

1. 结构

--conf
--conf.yml
--loadConf.go
--lib
--stressGet.go
--stressPost.go
--Dockerfile
--main.go
--docker-compose.yml
--README.md
--------------------------------------------------------------------------
main.go: 入口
conf: 配置项(压力测试需要的一些参数)
lib:压力测试的两个主要的方法GET 和POST

2. 参数说明

host: localhost         //项目访问的host
port: 8012 //项目访问的端口
times: 4 //压力测试持续请求时间
rate: 4 //每秒请求量
resultPath: D:/SelfStudy/GoProject/data/ //结果保存路径
testResulName: testing //压力测试结果保存文件名
requestType: get //当前压力测试类型,目前只支持(GET ,POST)
requestPath: / //压力测试的对象
requestData: message=hello world!! //需要传输的data

3. 启动方式

a. go run

此种方式比较依赖环境,所以必须先把环境搭建好,然后才可以测试。

b. docker(推荐)

Docker 方式比较简单,对环境的依赖比较小,只需装一个docker,然后即可。测试的时候只需要更改配置文件即可进行测试。

4. 测试结果

与时间相关部分单位为NS(纳秒),与大小相关的单位是B(字节)

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:郭志伟DavidGuo

查看原文:压力测试

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3540 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传