Task: to shoot unique requests. Each request has a header, the contents of which is a signature calculated by a specific algorithm from the body and headers of the request.

The signature must be unique (organized by random data in the header). Accordingly, each request must also be unique.

Question: how is this best organized?

    1 answer 1

    Two options:

    1. Use yandex-tank with default phantom load generator. A file with requests is sent to the tank entrance, respectively, you need to generate it in advance (see https://yandextank.readthedocs.org/en/latest/tutorial.html#request-style ) Before applying the load, the tank stepper prepares an ammo file from it. stpd in which requests are indicated with a timestamp telling when the cartridge should be fired (according to your schedule). The file with requests is read stepper sequentially. If the file is over, and the scheme requires more cartridges - the stepper will start reading the file again. By default, there are no restrictions on the number of re- phantom.loop (it can be set with the phantom.loop option - it is in the same dock).
    2. Create a script in jmeter , where using beanshell / jexl on the fly to create the necessary headers. The script, if desired, can be connected to the tank, in the [jmeter] module https://yandextank.readthedocs.org/en/latest/configuration.html#jmeter