<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Using Tsung for Load Testing Rails or Web Apps</title>
	<atom:link href="http://austinmills.name/?feed=rss2&#038;p=40" rel="self" type="application/rss+xml" />
	<link>http://austinmills.name/?p=40</link>
	<description>Austin Mills: Code, Methodologies, Games, etc.</description>
	<pubDate>Tue, 07 Sep 2010 12:20:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>By: Austin Mills</title>
		<link>http://austinmills.name/?p=40#comment-53695</link>
		<dc:creator>Austin Mills</dc:creator>
		<pubDate>Thu, 20 Aug 2009 19:15:11 +0000</pubDate>
		<guid isPermaLink="false">http://austinmills.name/?p=40#comment-53695</guid>
		<description>Ben:

Great, thanks for the update!</description>
		<content:encoded><![CDATA[<p>Ben:</p>
<p>Great, thanks for the update!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://austinmills.name/?p=40#comment-53693</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Thu, 20 Aug 2009 18:18:49 +0000</pubDate>
		<guid isPermaLink="false">http://austinmills.name/?p=40#comment-53693</guid>
		<description>Great writeup, thank you. 
Tsung now has Ubuntu packages, so you don't need to compile.  You can grab the latest deb at http://tsung.erlang-projects.org/dist/ubuntu/

Then just sudo dpkg -i on it.</description>
		<content:encoded><![CDATA[<p>Great writeup, thank you.<br />
Tsung now has Ubuntu packages, so you don&#8217;t need to compile.  You can grab the latest deb at <a href="http://tsung.erlang-projects.org/dist/ubuntu/" rel="nofollow">http://tsung.erlang-projects.org/dist/ubuntu/</a></p>
<p>Then just sudo dpkg -i on it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Austin Mills</title>
		<link>http://austinmills.name/?p=40#comment-38329</link>
		<dc:creator>Austin Mills</dc:creator>
		<pubDate>Mon, 12 Jan 2009 21:42:05 +0000</pubDate>
		<guid isPermaLink="false">http://austinmills.name/?p=40#comment-38329</guid>
		<description>Chris,

It depends on what your setup is with EC2. If you only have a single EC2 server, you just point Tsung to the external IP of that instance. If you have a loadbalancer and want to test the whole cluster, then you could point at the loadbalancer. EC2 by itself doesn't provide load-balancing (until later this year, but there are open-source projects for this), so you'll be using something external anyway, or running something like Pound/etc. on one of your instances.   

In our case, instead of going through the loadbalancer like the one that we have set up for our production cluster, I went directly to a single EC2 instance. For us it's reasonable to say that the performance of our system scales linearly (within certain bounds), so I can take the results from load-testing a single instance and feel pretty good that our N-instance cluster will provide N times that performance (up to a certain point, at least). 

YMMV, based on the details of your setup, but you should definitely start with testing a single instance before looking at the performance of your whole system, so you have a context for the results. Then if the cluster results aren't linearly improving over the single-node results, you have some things to look at. :)</description>
		<content:encoded><![CDATA[<p>Chris,</p>
<p>It depends on what your setup is with EC2. If you only have a single EC2 server, you just point Tsung to the external IP of that instance. If you have a loadbalancer and want to test the whole cluster, then you could point at the loadbalancer. EC2 by itself doesn&#8217;t provide load-balancing (until later this year, but there are open-source projects for this), so you&#8217;ll be using something external anyway, or running something like Pound/etc. on one of your instances.   </p>
<p>In our case, instead of going through the loadbalancer like the one that we have set up for our production cluster, I went directly to a single EC2 instance. For us it&#8217;s reasonable to say that the performance of our system scales linearly (within certain bounds), so I can take the results from load-testing a single instance and feel pretty good that our N-instance cluster will provide N times that performance (up to a certain point, at least). </p>
<p>YMMV, based on the details of your setup, but you should definitely start with testing a single instance before looking at the performance of your whole system, so you have a context for the results. Then if the cluster results aren&#8217;t linearly improving over the single-node results, you have some things to look at. <img src='http://austinmills.name/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://austinmills.name/?p=40#comment-38325</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Mon, 12 Jan 2009 20:25:02 +0000</pubDate>
		<guid isPermaLink="false">http://austinmills.name/?p=40#comment-38325</guid>
		<description>Silly question maybe, but how does Tsung work with the cloud of servers EC2 gives you? How exactly does the load get spread across all of them and your results collated?</description>
		<content:encoded><![CDATA[<p>Silly question maybe, but how does Tsung work with the cloud of servers EC2 gives you? How exactly does the load get spread across all of them and your results collated?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry</title>
		<link>http://austinmills.name/?p=40#comment-33773</link>
		<dc:creator>Dmitry</dc:creator>
		<pubDate>Thu, 23 Oct 2008 21:46:16 +0000</pubDate>
		<guid isPermaLink="false">http://austinmills.name/?p=40#comment-33773</guid>
		<description>Yeah I figured the request logging would be on the server side, I'll give it a shot to try everything at command line.

Thanks agian.
Dmitry</description>
		<content:encoded><![CDATA[<p>Yeah I figured the request logging would be on the server side, I&#8217;ll give it a shot to try everything at command line.</p>
<p>Thanks agian.<br />
Dmitry</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Austin Mills</title>
		<link>http://austinmills.name/?p=40#comment-33772</link>
		<dc:creator>Austin Mills</dc:creator>
		<pubDate>Thu, 23 Oct 2008 21:35:24 +0000</pubDate>
		<guid isPermaLink="false">http://austinmills.name/?p=40#comment-33772</guid>
		<description>I'm not familiar with Sing-Tsung -- looks interesting, but it might be introducing a layer of abstraction that's making it difficult to troubleshoot. It might be worth trying it from the command line and seeing if there's a difference.

As for a community, there's a mailing list here which gets a decent amount of traffic, that's probably the best place to look or ask: https://lists.process-one.net/mailman/listinfo/tsung-users

And sorry for not being more clear, but when I referred to request logging, I meant logging on the app server side (that is, not in Tsung), which almost all servers support, but the method of turning it on would be very server-dependent.</description>
		<content:encoded><![CDATA[<p>I&#8217;m not familiar with Sing-Tsung &#8212; looks interesting, but it might be introducing a layer of abstraction that&#8217;s making it difficult to troubleshoot. It might be worth trying it from the command line and seeing if there&#8217;s a difference.</p>
<p>As for a community, there&#8217;s a mailing list here which gets a decent amount of traffic, that&#8217;s probably the best place to look or ask: <a href="https://lists.process-one.net/mailman/listinfo/tsung-users" rel="nofollow">https://lists.process-one.net/mailman/listinfo/tsung-users</a></p>
<p>And sorry for not being more clear, but when I referred to request logging, I meant logging on the app server side (that is, not in Tsung), which almost all servers support, but the method of turning it on would be very server-dependent.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry</title>
		<link>http://austinmills.name/?p=40#comment-33771</link>
		<dc:creator>Dmitry</dc:creator>
		<pubDate>Thu, 23 Oct 2008 21:14:27 +0000</pubDate>
		<guid isPermaLink="false">http://austinmills.name/?p=40#comment-33771</guid>
		<description>BTW sorry, but where do I turn on request logging?

~Dmitry</description>
		<content:encoded><![CDATA[<p>BTW sorry, but where do I turn on request logging?</p>
<p>~Dmitry</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry</title>
		<link>http://austinmills.name/?p=40#comment-33770</link>
		<dc:creator>Dmitry</dc:creator>
		<pubDate>Thu, 23 Oct 2008 21:11:06 +0000</pubDate>
		<guid isPermaLink="false">http://austinmills.name/?p=40#comment-33770</guid>
		<description>Also I'm using a GUI plug-in for tsung on called Sing-Tsung and it's making things quite difficult on me :) My Record session xml reflects the correct steps but they're not show correctly on my sing-tsung GUI it's weird and I can't figure out what's making it do that. Wheh, is there like a tsung community where people help? I've went onto the process-one forum but not much help on there. :) Gald I found you.

Thanks a million
~Dmitry</description>
		<content:encoded><![CDATA[<p>Also I&#8217;m using a GUI plug-in for tsung on called Sing-Tsung and it&#8217;s making things quite difficult on me <img src='http://austinmills.name/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> My Record session xml reflects the correct steps but they&#8217;re not show correctly on my sing-tsung GUI it&#8217;s weird and I can&#8217;t figure out what&#8217;s making it do that. Wheh, is there like a tsung community where people help? I&#8217;ve went onto the process-one forum but not much help on there. <img src='http://austinmills.name/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Gald I found you.</p>
<p>Thanks a million<br />
~Dmitry</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry</title>
		<link>http://austinmills.name/?p=40#comment-33769</link>
		<dc:creator>Dmitry</dc:creator>
		<pubDate>Thu, 23 Oct 2008 21:00:11 +0000</pubDate>
		<guid isPermaLink="false">http://austinmills.name/?p=40#comment-33769</guid>
		<description>Awesome, thanks Austin. 

~Dmitry</description>
		<content:encoded><![CDATA[<p>Awesome, thanks Austin. </p>
<p>~Dmitry</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Austin Mills</title>
		<link>http://austinmills.name/?p=40#comment-33768</link>
		<dc:creator>Austin Mills</dc:creator>
		<pubDate>Thu, 23 Oct 2008 20:53:19 +0000</pubDate>
		<guid isPermaLink="false">http://austinmills.name/?p=40#comment-33768</guid>
		<description>Dmitry: Ideally, the web requests from Tsung should be very similar to the web requests made by a user using your web app. I would recommend a couple of things:
1. Read through your session file (if you used the recorder, it's the output from the recorder). That will give you a step-by-step view of what Tsung is doing on a per-session basis and let you see if perhaps a step is being missed.
2. Set up Tsung so that it only runs a single session, using 1 client (which can be done easily by setting the interarrival higher than the duration in the 'load' section of the XML) and look at the logs on your webserver. This will let you trace through on the server side a single session (I usually turn on request logging so I can see each request as it happens) and can help verify that Tsung is doing what you expect it to.

Hope that helps, 
--Austin</description>
		<content:encoded><![CDATA[<p>Dmitry: Ideally, the web requests from Tsung should be very similar to the web requests made by a user using your web app. I would recommend a couple of things:<br />
1. Read through your session file (if you used the recorder, it&#8217;s the output from the recorder). That will give you a step-by-step view of what Tsung is doing on a per-session basis and let you see if perhaps a step is being missed.<br />
2. Set up Tsung so that it only runs a single session, using 1 client (which can be done easily by setting the interarrival higher than the duration in the &#8216;load&#8217; section of the XML) and look at the logs on your webserver. This will let you trace through on the server side a single session (I usually turn on request logging so I can see each request as it happens) and can help verify that Tsung is doing what you expect it to.</p>
<p>Hope that helps,<br />
&#8211;Austin</p>
]]></content:encoded>
	</item>
</channel>
</rss>
