如何找出我的 POST 请求 yandex.tank 弹药的大小?

How to find out size of my POST request for yandex.tank ammo?

我自己为 Yandex.Tank 创建弹药:

POST /some/path HTTP/1.1
Host: some.host
Content-Length: 169
Connection: Close

{
  "some": "json"
}

正如我从文档和互联网上的一些示例中获得的那样 - ammo.txt 文件中的第一行必须是我请求的大小。

我试图自己计算这个大小并使用一些在线服务(通过请求 text to byte 或其他方式找到)并获得价值 271。 坦克抛出此错误:

<class 'yandextank.stepper.module_exceptions.AmmoFileError'>: Error while reading ammo file. Position: 4, header: '271', original exception: list index out of range

此外,我尝试计算示例请求的大小并获取这些示例中的不同值。

看来我做错了。

有load.yaml只是为了确定:

phantom:
#  ssl: true
  address: some.host
#  port: '443'
  port: '80'

  load_profile:
    load_type: rps
    schedule: const(100, 5m)

  timeout: '60'
  instances: 100500

  ammo_type: uripost
  ammofile: ammo.txt

uploader:
  enabled: true
  package: yandextank.plugins.DataUploader
  api_address: https://overload.yandex.net
  token_file: token.txt
  job_name: "test"
  job_dsc: "test"

autostop:
  autostop:
    - net(110, 10, 5)
    - http(503, 10, 5)

telegraf:
  enabled: false

问题:如何正确计算我的弹药量?

我只是在请求大小之后添加标记,例如:

yyy marker
POST ...

坦克 returns 我 read xxx bytes instead of yyy。 在关于 Yandex.Tank 的一些随机演示中找到了解决方案。 希望这对以后的人有所帮助。