'How to find out size of my POST request for yandex.tank ammo?
I create on my own ammo for Yandex.Tank:
POST /some/path HTTP/1.1
Host: some.host
Content-Length: 169
Connection: Close
{
"some": "json"
}
As I get from documentation and some examples from the internet - the first line in ammo.txt file must be a size of my request.
I've tried to count this size on my own and used some online services (found by request text to byte
or something) and get value 271
.
Tank throws this error:
<class 'yandextank.stepper.module_exceptions.AmmoFileError'>: Error while reading ammo file. Position: 4, header: '271', original exception: list index out of range
Also, I tried to count the size of example requests and get different values that were in those examples.
Seems I am doing it wrong.
There is load.yaml just for be sure:
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
Question: how to correctly count the size of my ammo?
Solution 1:[1]
I just add marker after request size, e.g:
yyy marker
POST ...
And tank returns me read xxx bytes instead of yyy
.
Found solution in some random presentation about Yandex.Tank.
Hope this will help to someone in future.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | dumbdumb |