Tsung ExecutorAboutTsung is an open-source multi-protocol distributed load testing tool. The purpose of Tsung is to simulate users in order to test the scalability and performance of IP based client/server applications. You can use it to do load and stress testing of your servers. Taurus supports only Tsung version 1.5.1 and higher. Tsung InstallationTo install Tsung, see official Tsung Installation docs. Mac OS XOn Mac OS X you can install Tsung with Homebrew: $ brew install tsung Tsung Load Generation ModelWhen given concurrency: N, Tsung spawns N "virtual users" each second. Every user is actually a lightweight Erlang process. User executes all requests from given scenario and then stops. Scenario SamplesExample of using constant concurrency and hold-for: execution: - executor: tsung concurrency: 100 hold-for: 1m scenario: sample scenarios: sample: default-address: http://blazedemo.com requests: - / - /reserve.php Example of using user's Tsung config: execution: - executor: tsung scenario: sample scenarios: sample: script: tsung/http_simple.xml If you specify both scenario script and load profile (concurrency and hold-for) — Taurus will copy your Tsung configuration and overwrite <load> section. The rest of your Tsung config will be preserved. Example: execution: - executor: tsung concurrency: 100 hold-for: 5m scenario: sample scenarios: sample: script: tsung/http_simple.xml Note that Tsung doesn't support throughput and ramp-up options. Here's the example of various HTTP requests features that Taurus supports: scenarios: features: default-address: http://blazedemo.com # base address for HTTP requests think-time: 1s # delay to make after executing this request, applies to all requests, default value is 0 timeout: 3s # TCP connection timeout, applies to all requests, defaults value is infinity max-retries: 1 # max TCP reconnect retries number, defaults to 1 headers: # global headers, applies to all requests User-Agent: taurus-tsung requests: - / # shorthand form - url: /reserve.php # full form with specified method method: GET - url: / think-time: 3s # overrides scenario-level think-time option - url: /submit.php # POST request with body method: POST body: 'request-body-string' - url: /submit.php # PUT request with file body method: PUT body-file: path/to/file.bin - url: / # request with additional headers headers: Authentication: Token 142857 Referer: http://gettaurus.org/docs Module SettingsIf you have installed Tsung in non-standard location (i.e. tsung is not in your $PATH), you can use path option to point Taurus to the tsung executable. Also, you can pass specific Tsung options via cmdline: modules: tsung: path: /usr/local/bin/tsung cmdline: -n Tsung Concurrency StatsDue to some limitations of Tsung, Taurus is able to extract actual concurrency info from Tsung only once in 10 seconds, so virtual users / time graph is not completely accurate. |
On this page:
Quick Links: |