Marconi uses Tsung (Tsung 1.5 or higher) to run load tests.
Table of Contents
Install tsung in all the machines. (See Section: Installing Tsung from Source). One of the machines will be the controller, & the rest will be clients.
Enable ssh connection with no passphrase, between all the machines.
Update the /etc/hosts in all the machines. The controller:/etc/hosts should have entries pointing to all the clients, as well as itself. All the clients, should have an entry for the controller in /etc/hosts. (We want to avoid the overhead of a dns lookup.)
Increase file descriptors available, in all the tsung machines. Add the following to /etc/security/limits.conf:
root soft nofile 9000 root hard nofile 65000
- reboot.
- Verify the change has taken place by 'umlimit –n'.
- Create ubuntu 13.04 server
- apt-get update
- apt-get install gnuplot-nox libtemplate-perl libhtml-template-perl libhtml-template-expr-perl
- apt-get install gnuplot erlang make git autoconf
- wget http://tsung.erlang-projects.org/dist/tsung-1.5.0.tar.gz
- tar –xzvf tsung-1.5.0.tar.gz
- cd tsung-1.5.0
- chmod 755 configure
- ./configure
- make
- make install
- Clone this git repo to your tsung controller.
- Copy the .tsung directory from load/*/.tsung to the home directory (~), on your tsung controller.
- happy_path directory has load tests with only positive scenarios.
- all_scenarios directory has tests with positive and negative scenarios
- Update the tsung.xml
- Update the <clients> section of ~/.tsung/tsung.xml, to point to your tsung machines. (Do not use IP addresses here.)
- Update the <servers> section, to point to your marconi server.
- Replace all auth tokens, with a valid auth token. (This is intentionally manual, to avoid accidentally stressing the production auth.)
- Update ~/.tsung/projectid.csv, to include the tenant ID of your account.
- Create queues with the names in ~/.tsung/existingqueue.csv, if your account doesn't have them already.
- Start tsung in the controller with 'tsung start'
- After the test is complete, cd to the log directory generated by the tests in the controller machine. (eg. cd ~/.tsung/logs/20130701-1635)
- Generate html reports with '/usr/lib/tsung/bin/tsung_stats.pl'
- You can run a simple web server to view reports, with 'python -m SimpleHTTPServer'
- Enjoy your performance reports!!
To Be Updated