<?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: Are Rails and Grails Scalable?</title>
	<atom:link href="http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/</link>
	<description>"Science is a wonderful thing if one does not have to earn one's living at it" -- Albert Einstein</description>
	<pubDate>Sat, 22 Nov 2008 03:16:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Joseph Nusairat</title>
		<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-48463</link>
		<dc:creator>Joseph Nusairat</dc:creator>
		<pubDate>Mon, 14 Jan 2008 18:37:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-48463</guid>
		<description>This is an old blog posting i know, but I was wondering if you have thought of retesting this now that Seam 2.0 is out, Rails can run under tomcat (mongrel by a few people I have talked to is a mongrel), and Grails 1.0 is almost out?

Would be interesting to see the changes

ciao</description>
		<content:encoded><![CDATA[<p>This is an old blog posting i know, but I was wondering if you have thought of retesting this now that Seam 2.0 is out, Rails can run under tomcat (mongrel by a few people I have talked to is a mongrel), and Grails 1.0 is almost out?</p>
<p>Would be interesting to see the changes</p>
<p>ciao</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy</title>
		<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-12969</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Tue, 17 Apr 2007 13:30:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-12969</guid>
		<description>Michael with all do respect I think your numbers are too high.  Most real apps have greater contention than this.  Because Seam/Hibernate supports optimistic locking scenarios and is really optimized for MVCC/Snapshot isolation...I would expect its performance to be at least a full magnitude greater under contention.  I think as you mention this mostly tested CPU contention/IO utilization and probably the efficiency (in the case of ruby) of the driver implementation.  I would be much more curious to see scalability under contention than these kinds of raw numbers (and of course some hardware to go with it)...  Probably you can't do that on your laptop though :-)</description>
		<content:encoded><![CDATA[<p>Michael with all do respect I think your numbers are too high.  Most real apps have greater contention than this.  Because Seam/Hibernate supports optimistic locking scenarios and is really optimized for MVCC/Snapshot isolation&#8230;I would expect its performance to be at least a full magnitude greater under contention.  I think as you mention this mostly tested CPU contention/IO utilization and probably the efficiency (in the case of ruby) of the driver implementation.  I would be much more curious to see scalability under contention than these kinds of raw numbers (and of course some hardware to go with it)&#8230;  Probably you can&#8217;t do that on your laptop though <img src='http://www.michaelyuan.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Modoc</title>
		<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-12920</link>
		<dc:creator>Modoc</dc:creator>
		<pubDate>Mon, 16 Apr 2007 22:29:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-12920</guid>
		<description>@Uberdude:  I don't have the numbers handy anymore, but my simple seam app running on a 2 year old single proc budget server took a slashdotting, combined with a digging, and a Yahoo tech article linking amazingly well.  Obviously that's no comparison to any other toolset, but personally I was surprised at how well it handled the load.

@wgaf:  I haven't looked where we rank, but Cingular moves orders of magnitude more traffic than that.  Scaling beyond those numbers are very important for many sites.</description>
		<content:encoded><![CDATA[<p>@Uberdude:  I don&#8217;t have the numbers handy anymore, but my simple seam app running on a 2 year old single proc budget server took a slashdotting, combined with a digging, and a Yahoo tech article linking amazingly well.  Obviously that&#8217;s no comparison to any other toolset, but personally I was surprised at how well it handled the load.</p>
<p>@wgaf:  I haven&#8217;t looked where we rank, but Cingular moves orders of magnitude more traffic than that.  Scaling beyond those numbers are very important for many sites.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich Collins</title>
		<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-12915</link>
		<dc:creator>Rich Collins</dc:creator>
		<pubDate>Mon, 16 Apr 2007 21:00:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-12915</guid>
		<description>You are confusing the cost of scaling with the ability to scale.  It is more expense to scale Rails and Grails, but they scale just fine.

The choke point is almost always the DB.  If you want to scale, make sure that the DB can be scaled (most can't once you are update bound).</description>
		<content:encoded><![CDATA[<p>You are confusing the cost of scaling with the ability to scale.  It is more expense to scale Rails and Grails, but they scale just fine.</p>
<p>The choke point is almost always the DB.  If you want to scale, make sure that the DB can be scaled (most can&#8217;t once you are update bound).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert</title>
		<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11101</link>
		<dc:creator>Robert</dc:creator>
		<pubDate>Thu, 29 Mar 2007 18:32:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11101</guid>
		<description>Graeme is right, scalability and performance are two different things. There is also scaling horizontally, via hardware and vertically via more CPU per hardware. For some scenarios, it would be far cheaper to build quickly, say via Grails, and deploy on cheap hardware and be able to add to that hardware than to build bigger and deploy on bigger hardware.

You also have to take into account the server it is running under. maybe Grails will run better under Glassfish or Jetty or weblogic, or whatever. Some of the request-per-second time is going to be dependent on the servlet engine in use. Not all, but some.

Regardless, until we see a head-to-head match Seam vs. Grails one can only speculate</description>
		<content:encoded><![CDATA[<p>Graeme is right, scalability and performance are two different things. There is also scaling horizontally, via hardware and vertically via more CPU per hardware. For some scenarios, it would be far cheaper to build quickly, say via Grails, and deploy on cheap hardware and be able to add to that hardware than to build bigger and deploy on bigger hardware.</p>
<p>You also have to take into account the server it is running under. maybe Grails will run better under Glassfish or Jetty or weblogic, or whatever. Some of the request-per-second time is going to be dependent on the servlet engine in use. Not all, but some.</p>
<p>Regardless, until we see a head-to-head match Seam vs. Grails one can only speculate</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wgaf</title>
		<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11052</link>
		<dc:creator>wgaf</dc:creator>
		<pubDate>Thu, 29 Mar 2007 11:30:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11052</guid>
		<description>Please read carefully - my comment was, very few sites handle that number of requests per second. Nothing else :-)

The obversations and assertions you are making are based on a specific traffic scenario that really doesn't very many web sites.</description>
		<content:encoded><![CDATA[<p>Please read carefully - my comment was, very few sites handle that number of requests per second. Nothing else <img src='http://www.michaelyuan.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The obversations and assertions you are making are based on a specific traffic scenario that really doesn&#8217;t very many web sites.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gavin</title>
		<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11037</link>
		<dc:creator>Gavin</dc:creator>
		<pubDate>Thu, 29 Mar 2007 05:01:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11037</guid>
		<description>Certainly I would not expect the current architecture of Ruby on Rails to scale like a Java EE based solution - but I'm not sure that I agree that Grails should not in principle exhibit comparable performance and scalability in simple cases.

After all, Groovy compiles down to Java classes just like ordinary Java. I expect that if the Grails team goes through the full process of identifying contention points and optimizing performance, Grails should scale comparably to Seam at least for simple stateless usecases. (Seam will probably still have the edge in optimistic txn processing, however, due to the conversation model.)

So this is probably more an indication of maturity than of any deep architectural problem in Grails.</description>
		<content:encoded><![CDATA[<p>Certainly I would not expect the current architecture of Ruby on Rails to scale like a Java EE based solution - but I&#8217;m not sure that I agree that Grails should not in principle exhibit comparable performance and scalability in simple cases.</p>
<p>After all, Groovy compiles down to Java classes just like ordinary Java. I expect that if the Grails team goes through the full process of identifying contention points and optimizing performance, Grails should scale comparably to Seam at least for simple stateless usecases. (Seam will probably still have the edge in optimistic txn processing, however, due to the conversation model.)</p>
<p>So this is probably more an indication of maturity than of any deep architectural problem in Grails.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Yuan</title>
		<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11034</link>
		<dc:creator>Michael Yuan</dc:creator>
		<pubDate>Thu, 29 Mar 2007 02:55:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11034</guid>
		<description>Uberdude,

I know. That is why I said "take my word with a grain of salt". ;) We are not ready to publish because, frankly, Rails/Grails are not our performance objectives. As Graeme said, it is to be *expected* that a pure Java solution will outperform a scripting language based solution. They have different strengths.

cheers
Michael</description>
		<content:encoded><![CDATA[<p>Uberdude,</p>
<p>I know. That is why I said &#8220;take my word with a grain of salt&#8221;. <img src='http://www.michaelyuan.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> We are not ready to publish because, frankly, Rails/Grails are not our performance objectives. As Graeme said, it is to be *expected* that a pure Java solution will outperform a scripting language based solution. They have different strengths.</p>
<p>cheers<br />
Michael</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Uberdude</title>
		<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11030</link>
		<dc:creator>Uberdude</dc:creator>
		<pubDate>Thu, 29 Mar 2007 00:53:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11030</guid>
		<description>When will we see some benchmarks for Seam? While there are lots of "proven" marks for Grails, we simply have the 5-10 magic hand wave for Seam :) So until you can put up numbers to prove the point isn't this all somewhat moot?</description>
		<content:encoded><![CDATA[<p>When will we see some benchmarks for Seam? While there are lots of &#8220;proven&#8221; marks for Grails, we simply have the 5-10 magic hand wave for Seam <img src='http://www.michaelyuan.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> So until you can put up numbers to prove the point isn&#8217;t this all somewhat moot?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Yuan</title>
		<link>http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11026</link>
		<dc:creator>Michael Yuan</dc:creator>
		<pubDate>Wed, 28 Mar 2007 23:56:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2007/03/28/are-rails-and-grails-scalable/#comment-11026</guid>
		<description>wgaf,

First of all, you are quoting "average" while a site should really handle "peak" traffic.

Second, keep in mind that the "benchmark" numbers here are for very simple apps with very limited concurrent users. It will be slower when you have a lot of user states to manage.

According to your logic, no one will ever need to use server clusters? In fact, plenty of people do need better performance for all kinds of reasons.

Last, without resolving CPU contention points, the CPU will eventually rise to 100% within several hours and render the site unusable -- then you cannot even serve 1 request per second. ;)

cheers
Michael</description>
		<content:encoded><![CDATA[<p>wgaf,</p>
<p>First of all, you are quoting &#8220;average&#8221; while a site should really handle &#8220;peak&#8221; traffic.</p>
<p>Second, keep in mind that the &#8220;benchmark&#8221; numbers here are for very simple apps with very limited concurrent users. It will be slower when you have a lot of user states to manage.</p>
<p>According to your logic, no one will ever need to use server clusters? In fact, plenty of people do need better performance for all kinds of reasons.</p>
<p>Last, without resolving CPU contention points, the CPU will eventually rise to 100% within several hours and render the site unusable &#8212; then you cannot even serve 1 request per second. <img src='http://www.michaelyuan.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>cheers<br />
Michael</p>
]]></content:encoded>
	</item>
</channel>
</rss>
