1. Installation
    1. Docker
      1. sudo apt-get install docker
      2. sudo apt install docker.io
    2. Midnight Commander
      1. sudo apt install mc
  2. Pull an Yandex-tank image
    1. sudo docker pull direvius/yandex-tank
  3. Create work directory with: 1) token-file (.txt) 2) test-file (.yaml) 3) ammo-file (.txt)
    1. Create token-file
      1. use https://overload.yandex.net/ to receive your token
      2. create empty token.txt file
        1. sudo touch token.txt
      3. fill it with your token
    2. Create loadtest.yaml file with test scenario
      1. overload: enabled: true package: yandextank.plugins.DataUploader token_file: "token.txt" phantom: address: [your address: port] ssl: true //for https load_profile: load_type: rps schedule: line(1, 1, 10s) ammofile: ammo.txt ammo_type: uripost console: enabled: true telegraf: enabled: true
    3. Create ammo.txt file with your post-method
      1. [Host: [your address: port]] [Connection: keep-alive] [X-Real-Ip:] [Authorization:[your token]] [Content-Type: application/json-patch+json] [size] /api/[your api] {"[body of your request]"}
  4. Run Docker container, change entrypoint
    1. docker run \ -v $(pwd):/var/loadtest \ -v $SSH_AUTH_SOCK:/ssh-agent -e SSH_AUTH_SOCK=/ssh-agent \ --net host \ -it \ --entrypoint /bin/bash \ direvius/yandex-tank
    2. In my case: sudo docker run -v $(pwd):/var/loadtest -v $SSH_AUTH_SOCK:/ssh-agent -v ~/yandex-tank/:/var/dasha/ -e SSH_AUTH_SOCK=/ssh-agent --net host -it --entrypoint /bin/bash direvius/yandex-tank
      1. my directory ~/yandex-tank
  5. Start your test Within container with yandex-tank command
    1. sudo yandex-tank -c /var/dasha/loadtest.yaml -i
  6. Results
    1. using your console
    2. using https://overload.yandex.net
      1. Public tests
        1. show my tests only