<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: The Interesting Case of Diminishing Responsiveness</title>
	<atom:link href="http://paul-m-jones.com/archives/237/feed" rel="self" type="application/rss+xml" />
	<link>http://paul-m-jones.com/archives/237?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-interesting-case-of-diminishing-responsiveness</link>
	<description>It&#039;s not enough to be smart; you have to actually know things.</description>
	<lastBuildDate>Wed, 16 May 2012 17:27:27 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>By: wluigi</title>
		<link>http://paul-m-jones.com/archives/237/comment-page-1#comment-99645</link>
		<dc:creator>wluigi</dc:creator>
		<pubDate>Wed, 03 Jan 2007 10:39:44 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=237#comment-99645</guid>
		<description>what would be interresting is to re-publish the result of your benchmark with this new parameters</description>
		<content:encoded><![CDATA[<p>what would be interresting is to re-publish the result of your benchmark with this new parameters</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul M. Jones &#187; Blog Archive &#187; New Year&#8217;s Benchmarks</title>
		<link>http://paul-m-jones.com/archives/237/comment-page-1#comment-98911</link>
		<dc:creator>Paul M. Jones &#187; Blog Archive &#187; New Year&#8217;s Benchmarks</dc:creator>
		<pubDate>Mon, 01 Jan 2007 19:36:17 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=237#comment-98911</guid>
		<description>[...] Paul M. Jones If it&#8217;s worth doing, it&#8217;s worth over-doing.      &#171; The Interesting Case of Diminishing Responsiveness [...]</description>
		<content:encoded><![CDATA[<p>[...] Paul M. Jones If it&#8217;s worth doing, it&#8217;s worth over-doing.      &laquo; The Interesting Case of Diminishing Responsiveness [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gwoo</title>
		<link>http://paul-m-jones.com/archives/237/comment-page-1#comment-98030</link>
		<dc:creator>gwoo</dc:creator>
		<pubDate>Sat, 30 Dec 2006 19:06:28 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=237#comment-98030</guid>
		<description>Richard, 
I agree a framework should do the bare minimum and only help the developer when they ask for it. In the case of Cake, most of the users seem to be using things like Session and Models, so they are expected by default. However, there is always an option to alter this default behavior. I am not so sure this is forcing tools on developers, but rather it is an attempt to reduce the amount of code the developer has to write. The key here is DRY. Having a standard convention and expected behavior allows DRY to extend from application to application and developer to developer. With this in mind, Cake requires nearly zero &quot;setup&quot;, which makes it development faster and allows things like code generation to become truly useful rather than a bloated mess. For instance, the bake utility in Cake, which generates all the code for a complete CRUD based application, only produces about 100 lines of controller code.

Paul, 
If you are testing the speed of the front controller and render engine of each framework, which emulates the functionality of a static site, I would imagine sessions would rarely be used. Also, I would actually go so far as to say that any framework that does not allow for turning session off, should not be included in the test. Maybe I just need more clarification on the goals of your benchmark. I am not familar with how the other frameworks handle sessions, but in Cake, if the security is set to HIGH then the sessin id will be regenerated on each request and the information from the old session persisted and removed. Setting to MEDIUM or LOW will change this functionality, and result in a session with a longer life. So, you may see varying results based on this setting. The other thing to check is DEBUG setting, as I did not see it mentioned in your setup. In Cake it is set to 2 by default, while setting it to 0 should see changes in the benchmark as well.

I was also curious about other benchmarking methods. What is your take on ab vs. siege? Is there are particular reason you chose ab?

I think this is all a lot of fun. Thanks for putting in the effort to install these frameworks. I know some of them can be troublesome and I think your efforts to create the most consistent environment for comparison are commendable.</description>
		<content:encoded><![CDATA[<p>Richard,<br />
I agree a framework should do the bare minimum and only help the developer when they ask for it. In the case of Cake, most of the users seem to be using things like Session and Models, so they are expected by default. However, there is always an option to alter this default behavior. I am not so sure this is forcing tools on developers, but rather it is an attempt to reduce the amount of code the developer has to write. The key here is DRY. Having a standard convention and expected behavior allows DRY to extend from application to application and developer to developer. With this in mind, Cake requires nearly zero &#8220;setup&#8221;, which makes it development faster and allows things like code generation to become truly useful rather than a bloated mess. For instance, the bake utility in Cake, which generates all the code for a complete CRUD based application, only produces about 100 lines of controller code.</p>
<p>Paul,<br />
If you are testing the speed of the front controller and render engine of each framework, which emulates the functionality of a static site, I would imagine sessions would rarely be used. Also, I would actually go so far as to say that any framework that does not allow for turning session off, should not be included in the test. Maybe I just need more clarification on the goals of your benchmark. I am not familar with how the other frameworks handle sessions, but in Cake, if the security is set to HIGH then the sessin id will be regenerated on each request and the information from the old session persisted and removed. Setting to MEDIUM or LOW will change this functionality, and result in a session with a longer life. So, you may see varying results based on this setting. The other thing to check is DEBUG setting, as I did not see it mentioned in your setup. In Cake it is set to 2 by default, while setting it to 0 should see changes in the benchmark as well.</p>
<p>I was also curious about other benchmarking methods. What is your take on ab vs. siege? Is there are particular reason you chose ab?</p>
<p>I think this is all a lot of fun. Thanks for putting in the effort to install these frameworks. I know some of them can be troublesome and I think your efforts to create the most consistent environment for comparison are commendable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Travis Swicegood</title>
		<link>http://paul-m-jones.com/archives/237/comment-page-1#comment-98018</link>
		<dc:creator>Travis Swicegood</dc:creator>
		<pubDate>Sat, 30 Dec 2006 18:26:40 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=237#comment-98018</guid>
		<description>Very true.

I wonder if the same effect is found using an SQLite or MySQL DB to store the session data.  With either of those (SQLite in particular), I guess you still get the same issues with loading that data to memory, but it would be interesting nonetheless.</description>
		<content:encoded><![CDATA[<p>Very true.</p>
<p>I wonder if the same effect is found using an SQLite or MySQL DB to store the session data.  With either of those (SQLite in particular), I guess you still get the same issues with loading that data to memory, but it would be interesting nonetheless.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pmjones</title>
		<link>http://paul-m-jones.com/archives/237/comment-page-1#comment-98016</link>
		<dc:creator>pmjones</dc:creator>
		<pubDate>Sat, 30 Dec 2006 18:14:44 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=237#comment-98016</guid>
		<description>Hi Travis -- it&#039;s not limited to Solar and Cake; *any* script that uses sessions would be susceptible.</description>
		<content:encoded><![CDATA[<p>Hi Travis &#8212; it&#8217;s not limited to Solar and Cake; *any* script that uses sessions would be susceptible.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Travis Swicegood</title>
		<link>http://paul-m-jones.com/archives/237/comment-page-1#comment-98014</link>
		<dc:creator>Travis Swicegood</dc:creator>
		<pubDate>Sat, 30 Dec 2006 18:08:13 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=237#comment-98014</guid>
		<description>Hey Paul.  For a raw power comparison that&#039;s definitely a handy tip.  That does means that Solar and Cake both will have diminishing returns with a DDoS or /.&#039;ing though.

It would be interesting to see if any solution can be created that would help mitigate this so you can hit 10k new sessions a minute and not kill server performance.</description>
		<content:encoded><![CDATA[<p>Hey Paul.  For a raw power comparison that&#8217;s definitely a handy tip.  That does means that Solar and Cake both will have diminishing returns with a DDoS or /.&#8217;ing though.</p>
<p>It would be interesting to see if any solution can be created that would help mitigate this so you can hit 10k new sessions a minute and not kill server performance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luis</title>
		<link>http://paul-m-jones.com/archives/237/comment-page-1#comment-98006</link>
		<dc:creator>Luis</dc:creator>
		<pubDate>Sat, 30 Dec 2006 16:18:25 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=237#comment-98006</guid>
		<description>Another benchmarking tool I like is httperf. It&#039;s very easy to install and use, and you could see if both results (from ab and httperf) are consistent:

http://www.hpl.hp.com/research/linux/httperf/docs.php

You can use it like:

httperf --server locahost --uri /path/to/testpage.php --num-conns 10000

You can add also --num-calls 10, for example.

Thanks (in advance) for the benchmarks !</description>
		<content:encoded><![CDATA[<p>Another benchmarking tool I like is httperf. It&#8217;s very easy to install and use, and you could see if both results (from ab and httperf) are consistent:</p>
<p><a href="http://www.hpl.hp.com/research/linux/httperf/docs.php" rel="nofollow">http://www.hpl.hp.com/research/linux/httperf/docs.php</a></p>
<p>You can use it like:</p>
<p>httperf &#8211;server locahost &#8211;uri /path/to/testpage.php &#8211;num-conns 10000</p>
<p>You can add also &#8211;num-calls 10, for example.</p>
<p>Thanks (in advance) for the benchmarks !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Thomas</title>
		<link>http://paul-m-jones.com/archives/237/comment-page-1#comment-97898</link>
		<dc:creator>Richard Thomas</dc:creator>
		<pubDate>Sat, 30 Dec 2006 02:51:28 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=237#comment-97898</guid>
		<description>Zend_Session will never be a &quot;normal&quot; part of the controller/action, ZF doesn&#039;t try to bind and auto run anything, it requires a little bit more developer &quot;setup&quot;.

Thats part of the reason I like it so much, It provides all the tools but leaves it up to the developer to really tie them together, where as a lot of other frameworks try to force there own tools on the developer.

Neither approach is bad, its just a personal thing.</description>
		<content:encoded><![CDATA[<p>Zend_Session will never be a &#8220;normal&#8221; part of the controller/action, ZF doesn&#8217;t try to bind and auto run anything, it requires a little bit more developer &#8220;setup&#8221;.</p>
<p>Thats part of the reason I like it so much, It provides all the tools but leaves it up to the developer to really tie them together, where as a lot of other frameworks try to force there own tools on the developer.</p>
<p>Neither approach is bad, its just a personal thing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pmjones</title>
		<link>http://paul-m-jones.com/archives/237/comment-page-1#comment-97839</link>
		<dc:creator>pmjones</dc:creator>
		<pubDate>Fri, 29 Dec 2006 22:01:29 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=237#comment-97839</guid>
		<description>Hi Waldemar -- it may be in the incubator, but it&#039;s not part of the &quot;normal&quot; controller/action routine yet.</description>
		<content:encoded><![CDATA[<p>Hi Waldemar &#8212; it may be in the incubator, but it&#8217;s not part of the &#8220;normal&#8221; controller/action routine yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pmjones</title>
		<link>http://paul-m-jones.com/archives/237/comment-page-1#comment-97838</link>
		<dc:creator>pmjones</dc:creator>
		<pubDate>Fri, 29 Dec 2006 22:00:52 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/blog/?p=237#comment-97838</guid>
		<description>Hi Gwoo -- in normal use, I think Cake reasonably expects a session to be available, so it seemed best to keep the session in place for the benchmarking.  Also, other/future frameworks may not allow for turning sessions off, so this is also an attempt at future-proofing the benchmarking setup.</description>
		<content:encoded><![CDATA[<p>Hi Gwoo &#8212; in normal use, I think Cake reasonably expects a session to be available, so it seemed best to keep the session in place for the benchmarking.  Also, other/future frameworks may not allow for turning sessions off, so this is also an attempt at future-proofing the benchmarking setup.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

