Yandex-tank - 具有不同 http 标头的多个请求
Posted
技术标签:
【中文标题】Yandex-tank - 具有不同 http 标头的多个请求【英文标题】:Yandex-tank - several requests with different http headers 【发布时间】:2013-05-27 08:29:56 【问题描述】:有没有人尝试使用Yandex-tank作为http负载测试工具?
我有一个用例来测试一个包含多个请求的 http 服务,这些请求包含不同的路径和查询参数以及不同的 http header。
例如第一个请求类型 - /test/user1?param1=1 [X-Forwarded-For: 192.168.0.1],第二个请求类型 - /test/user2?param1=2 [X-Forwarded-For: 192.168.0.2]
问题是如何配置 ammo.txt 文件以具有不同的 http 标头。
我试过了:
# load.conf
[phantom]
address=myservice.loc #Target's address and port .
rps_schedule=line(1, 50, 1m) ## 1 minute, from 1 to 50 requests per second
# ammo.txt
[X-Forwarded-For: 192.168.0.1]
/test/user1?param1=1
[X-Forwarded-For: 192.168.0.2]
/test/user2?param1=2
测试执行正常,但所有请求都有 X-Forwarded-For: 192.168.0.1
我想知道如何配置 ammo.txt 以适应我的用例(具有不同的标题)? 您能否建议一些替代工具来执行此操作?
【问题讨论】:
【参考方案1】:使用 URI 格式时不能有不同的标头。
UPD:我们添加了一项新功能,现在您可以在 uri 样式的弹药中执行此操作,请参阅 docs。带有标题修改的 uri 样式弹药示例:
[Connection: close]
[Host: target.example.com]
[Cookies: None]
/?drg tag1
/
/buy tag2
[Cookies: test]
/buy/?rt=0&station_to=7&station_from=9
您还可以按照here 的描述以请求样式生成弹药。 具有不同“主机”标头的请求式弹药示例:
34 good
GET / HTTP/1.0
Host: xxx.tanks1.example.com
User-Agent: xxx (shell 1)
78 bad
GET /abra HTTP/1.0
Host: xxx.tanks2.example.com
User-Agent: xxx (shell 1)
79 unknown
GET /ab/ra HTTP/1.0
Host: xxx.tanks3.example.com
User-Agent: xxx (shell 1)
34 good
-- 这是标头,数字是以下请求的大小(以字节为单位)(包括行尾)。而good
是一个标记。
【讨论】:
你能在这里举个例子吗?以上是关于Yandex-tank - 具有不同 http 标头的多个请求的主要内容,如果未能解决你的问题,请参考以下文章
命令错误:docker run direvius/yandex-tank