前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用真实流量请求进行系统测试

使用真实流量请求进行系统测试

作者头像
dys
发布2018-04-04 09:50:37
1.2K0
发布2018-04-04 09:50:37
举报
文章被收录于专栏:性能与架构性能与架构

对测试环境进行测试时,如果能使用线上环境真实的请求进行测试的话,是不是更好些 GoReplay 就可以用来捕获真实的HTTP请求,并进行回放 在线上环境中使用 GoReplay 来收集请求,可以实时转给测试环境,也可以保存为文件,然后拿到测试环境进行回放 GoReplay 在进行请求回放时,会模拟真实情况,例如 request1 和 request2 间隔了 3 秒,回放时,也会保留这3秒的间隔,可以准确呈现访问的负载状况 GoReplay 收集请求时,可以进行过滤,只收集自己关心的请求 回放时,还可以调整速度,例如想以真实环境下的2倍速度进行压力测试,设置一下回放速率即可 使用示例

  • 实时转发

例如 8000 端口运行的是线上系统,8001 端口运行的是测试系统 ./gor --input-raw :8000 --output-http="http://localhost:8001" 把 8000 端口的请求都输出到后面的地址

执行后就监听并转发,直到退出

  • 录制回放

录制 ./gor --input-raw :8000 --output-file=requests.gor --output-file 参数指定了保存到哪个文件

执行后,就开始监听记录,直到退出 退出后,在当前目录下生成了一个 requests_0.gor 文件 回放 ./gor --input-file requests_0.gor --output-http="http://localhost:8001" --input-file 指定要回放哪个文件,后面跟上文件名 --output-http 就是要把请求发送到什么地址

  • 请求过滤

例如只收集 /api 下的请求 ./gor --input-raw :8080 --output-http staging.com --http-allow-url /api 例如只收集请求头中符合 api-version 为 1.0x 的请求 ./gor --input-raw :8080 --output-http staging.com --http-allow-header api-version:^1\.0\d

  • 回放速度调整

例如使用2倍速度进行回放 ./gor --input-file "requests.gor|200%" --output-http "staging.com" 安装测试 下载地址 https://github.com/buger/gor/releases 下载并解压 gor_v0.15.1_x64.tar.gz 后,是一个 gor 可执行文件,就可以直接用了 为了便于马上实验,GoReplay 提供了一个简单的 web server ./gor file-server :8000 在浏览器中访问 http://localhost:8000 可以列出本地文件列表 使用这个server和不同的端口,就模拟出了不同的环境,方便实践 GoReplay 的用法 官网 https://goreplay.org ,有详细的使用文档

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档