I have tried to get tsung to work on ec2 but to no avail. Is this why people tend to use jmeter? Tsung works of a single host but not at all on ec2.
1) I have using the same zone thus using the private dns and ip on ec2.
2) I create a master and usig the following to create a ssh key on the master.
cd /home/ubuntu/.ssh;
ssh-keygen -f id_rsa -t rsa -N ''
3) Then, on eash of the slaves I place the generated key into the auth keys.
/home/ubuntu/.ssh/authorized_keys
4) On the slaves my /etc/hosts file looks like this per the docs.
xxx.xxx.xxx.xxx ip-10-xxx-xxx-xxx
4) On the master I run sudo tsung start. I can ssh into the slaves without a password.
in the log file I get this error:
=INFO REPORT==== 28-May-2012::03:51:12 ===
ts_config_server:(0:<0.76.0>) Can't start newbeam on host
'ip-xxx-xxx-xxx (reason: timeout) ! Aborting!]]
5) The documents provides tips on to resolve but those tips are by no means clear at all since I an still receiving this error. But, I have done all that is required on the list. a)ssh works without a password i.el ssh hostname erl b) removed app armor c) my hosts looks like this xxx.xxx.xxx ip-xxx-xxx-xxx
6) Below is my tsung.xml file.
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel="debug" dumptraffic="true" version="1.0">
<clients>
<client host="ip-10-xxx-xxx-xxx" cpu="1"><ip
value="10.yyy.yyy.yyy"></ip></client>
</clients>
<servers>
<server host="xxx.xxx.xxx.xxx" port="80" type="tcp"></server>
</servers>
<load>
<arrivalphase phase="1" duration="1" unit="minute">
<users interarrival="100" unit="second"></users>
</arrivalphase>
</load>
<options>
<option type="ts_http" name="user_agent">
<user_agent probability="80">Mozilla/5.0 (X11; U; Linux i686;
en-US; rv:1.7.8) Gecko/20050513 Galeon/1.3.21</user_agent>
<user_agent probability="20">Mozilla/5.0 (Windows; U; Windows
NT 5.2; fr-FR; rv:1.7.8) Gecko/20050511 Firefox/1.0.4</user_agent>
</option>
</options>
<sessions>
<session name="http-example" probability="100" type="ts_http">
<!-- full url with server name, this overrides the "server"
config value -->
<request> <http url="/pixel" method="GET"
version="1.1"></http> </request>
<thinktime value="1" random="true"></thinktime>
</session>
</sessions>
</tsung>
On the master machine do the follwoing:
cd /home/ubuntu/.ssh
ssh-keygen -f id_rsa -t rsa -N ''
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
for each slave:
ssh-keyscan EC2_PUBLIC_DNS_NAME | tee -a ~/.ssh/known_hosts
or use the privite dns name
or
# You can add this in .ssh/config on the master node:
# >
# > Host *
# > StrictHostKeyChecking no