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?
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.