2

有没有人尝试使用Yandex-tank作为 http 负载测试工具?

我有一个用例来测试一个包含多个请求的 http 服务,这些请求包含不同的路径和查询参数以及不同的 http header。

EG 第一个请求类型 - /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 以适应我的用例(具有不同的标题)?您还可以建议一些替代工具来做到这一点吗?

4

1 回答 1

0

使用 URI 格式时不能有不同的标头。

UPD:我们添加了一项新功能,现在您可以在 uri 样式的弹药中执行此操作,请参阅文档。带有标题修改的 uri 样式弹药的示例:

[Connection: close]
[Host: target.example.com]
[Cookies: None]
/?drg tag1
/
/buy tag2
[Cookies: test]
/buy/?rt=0&station_to=7&station_from=9

您还可以按照此处所述的请求样式生成弹药。具有不同“主机”标头的请求式弹药示例:

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是一个标记。

于 2013-09-18T09:50:22.010 回答