<?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 for Nigel Dunn</title>
	<atom:link href="http://www.nigeldunn.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nigeldunn.com</link>
	<description>breaking the Internet for 15 years.</description>
	<lastBuildDate>Sun, 11 Dec 2011 23:48:02 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
	<item>
		<title>Comment on libevent-2.0.so.5: cannot open shared object file: No such file or directory by zye</title>
		<link>http://www.nigeldunn.com/2011/12/11/libevent-2-0-so-5-cannot-open-shared-object-file-no-such-file-or-directory/#comment-213</link>
		<dc:creator>zye</dc:creator>
		<pubDate>Sun, 11 Dec 2011 23:48:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.nigeldunn.com/?p=130#comment-213</guid>
		<description>thx a lot ! :-)</description>
		<content:encoded><![CDATA[<p>thx a lot ! <img src='http://www.nigeldunn.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My last thoughts on Symfony2 by Drew</title>
		<link>http://www.nigeldunn.com/2011/11/24/my-last-thoughts-on-symfony2/#comment-204</link>
		<dc:creator>Drew</dc:creator>
		<pubDate>Wed, 07 Dec 2011 22:40:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.nigeldunn.com/?p=121#comment-204</guid>
		<description>I think your post takes a very purist approach to the whole matter.

I think it&#039;s completely possible that other frameworks are faster, and I think we&#039;d all love to see those stats. The important thing to remember is how things fare in the real world. In the real world there are other limitations (such as bandwidth pipe) and many factors to consider (features of the framework, documentation, community, runs on latest version of php etc).

One of the most important factors people often fail to consider is the audience/visitor numbers. It might be true that other frameworks can handle 5x more request per second, but each developer has to ask themselves, how many requests do I think I&#039;ll get, and would I be happy with optimisation tricks like caching &amp; CDN.

Now onto the interesting stuff, it&#039;s clear you have an audience keen to talk about this topic, and I love the fact that you&#039;re interesting in the performance of the framework you&#039;re choosing to work with. If you could post those benchmarks, such that others could verify/critique them you&#039;ll find two things, 1) you should get some well deserved credibility for your attempts to remain transparent &amp; to provide useful stats to the community, &amp; 2) Others, fanboys, geeks, experts can chime in and give advice on how realistic these figures are, and possibly even give pointers as to how to modify the tests so they match the real world, or provide some notable difference in performance.

Finally I&#039;d like to mention, although this was only your own personal account of things, one of the visuals I like to use when making decisions is a matrix, for example I like comparing the following, rather then taking such a narrow approach.

- Speed benchmarks
- Was the framework designed to run on the latest version of PHP
- Documentation
- Community Support
- Licence Free vs Commercial
- Learning Curve (Time required to learn Framework specific code)
- Ease of use (After learning curve)
- Standout Features of Framework (ie does it auto generate code, does it have an authentication class, does it hook into popular api&#039;s)
- Code Cleanliness &amp; Stability (This could be a matter of opinion, however some code is spagetti, some code takes a purist approach and has 1 million files ie Magento, other Frameworks are just full of errors)
- Framework Background (Who makes the Framework, have they been around long, will the be around for a while, are they backed by a company or living on a prayer, do they have a huge talent base through an open source community)</description>
		<content:encoded><![CDATA[<p>I think your post takes a very purist approach to the whole matter.</p>
<p>I think it&#8217;s completely possible that other frameworks are faster, and I think we&#8217;d all love to see those stats. The important thing to remember is how things fare in the real world. In the real world there are other limitations (such as bandwidth pipe) and many factors to consider (features of the framework, documentation, community, runs on latest version of php etc).</p>
<p>One of the most important factors people often fail to consider is the audience/visitor numbers. It might be true that other frameworks can handle 5x more request per second, but each developer has to ask themselves, how many requests do I think I&#8217;ll get, and would I be happy with optimisation tricks like caching &amp; CDN.</p>
<p>Now onto the interesting stuff, it&#8217;s clear you have an audience keen to talk about this topic, and I love the fact that you&#8217;re interesting in the performance of the framework you&#8217;re choosing to work with. If you could post those benchmarks, such that others could verify/critique them you&#8217;ll find two things, 1) you should get some well deserved credibility for your attempts to remain transparent &amp; to provide useful stats to the community, &amp; 2) Others, fanboys, geeks, experts can chime in and give advice on how realistic these figures are, and possibly even give pointers as to how to modify the tests so they match the real world, or provide some notable difference in performance.</p>
<p>Finally I&#8217;d like to mention, although this was only your own personal account of things, one of the visuals I like to use when making decisions is a matrix, for example I like comparing the following, rather then taking such a narrow approach.</p>
<p>- Speed benchmarks<br />
- Was the framework designed to run on the latest version of PHP<br />
- Documentation<br />
- Community Support<br />
- Licence Free vs Commercial<br />
- Learning Curve (Time required to learn Framework specific code)<br />
- Ease of use (After learning curve)<br />
- Standout Features of Framework (ie does it auto generate code, does it have an authentication class, does it hook into popular api&#8217;s)<br />
- Code Cleanliness &amp; Stability (This could be a matter of opinion, however some code is spagetti, some code takes a purist approach and has 1 million files ie Magento, other Frameworks are just full of errors)<br />
- Framework Background (Who makes the Framework, have they been around long, will the be around for a while, are they backed by a company or living on a prayer, do they have a huge talent base through an open source community)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My last thoughts on Symfony2 by nigel</title>
		<link>http://www.nigeldunn.com/2011/11/24/my-last-thoughts-on-symfony2/#comment-202</link>
		<dc:creator>nigel</dc:creator>
		<pubDate>Wed, 07 Dec 2011 12:29:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.nigeldunn.com/?p=121#comment-202</guid>
		<description>Ok... well this post definitely got a lot more responses than I was expecting and some very valid points. Because this post is couple of weeks old now and I can&#039;t remember all the details off the top of my head, I&#039;m going to setup a test again and give it another shot just to make sure I&#039;m not overlooking something.

In the meantime, I&#039;ll address some of your comments...

Ryan: Out of the box were the other framework tests. My tests on Symfony2 involved commenting out lots of stuff to make sure the core framework was all that was loading without Doctrine and all the other bits and pieces that come packaged in the standard install. I definitely took sometime to get Symfony as barebones as I could. I&#039;ve had plenty of the user error problems along the way, Symfony offers a lot of features that are (quite honestly) well outside my knowledge of OOP design patterns.

Francois: I understand the point you are trying to make however to continue your analogy - wouldn&#039;t you rather have a chasis that is light and strong which you can then bolt a large engine to (a server), add a trailer (ORM, whatever), or if you just want a &quot;lambo&quot;, throw a thin skin over the top and strip away everything that isnt necessary and still get high performance? I absolutely understand that &quot;hello world&quot; is a crap test and that if you wanted real performance you&#039;d just make a html file with &quot;hello world&quot; inside it because as soon as you use PHP you&#039;re going to take a huge performance hit anyway compared to the speed of a static file. I&#039;m actually going to try Silex out as it appears to be exactly what I&#039;m after for testing Symfony2 at its lightest. Thanks.

Inophage: If by &quot;Hello World&quot; edition you mean the Acme bundle &#039;Hello World&#039; demo then no. I created my own bundle which simply had a single controller with a single method which simply had: &lt;code&gt;return new Response(&#039;Hello World&#039;);&lt;/code&gt; I just did a quick google and haven&#039;t found any obvious links to a special edition.

Charlie: No, I was using app.php, definitely not app_dev.php.

Dlsinper: All my tests were on my production server, as were all the other frameworks I tested. As I mentioned earlier in this reply - I can&#039;t remember the finer details however I&#039;ll apply that page to my next test (which should be tomorrow sometime). With regard to ORM - I&#039;ve had little experience with it however I do have MySQL configured with query caching and ample amounts of RAM available to it for something as trivial as a couple of basic queries to output some article stubs. With regard to my knowledge of all of these things - I&#039;m not 100% sure that I&#039;m not making an error and I will publish this next trial so you can all critique it. Thank you for sharing your server stats, thats interesting, can I ask what you&#039;d roughly see on a daily/monthly basis for traffic and how much of that RAM is used for your caching strategy or is most of it for Apaches PHP threads? I personally take Apache completely out of the equation and just use Nginx + PHP with PHP-FPM enabled. I also use APC for opcode caching.

Josiah, Tito, and Lennart: When I do my next lot of testing (hopefully tomorrow depending on how my day shapes up), I&#039;ll document exactly what the setup is, how I have Symfony2 configured and how I&#039;m testing the performance. Typically I use a combination of ApacheBench and Siege depending on what I&#039;m trying to achieve. Siege I usually setup up on a bunch of VPS&#039;s and then try and bring my test server to its knees.

Celso: I&#039;m curious too, how can Dailymotion handle it? Given that I know nothing about the hosting infrastructure that drives daily motion. I&#039;d take a wild stab in the dark and say that large servers, copious amounts of caching, CDN, and plenty of other optimisation tricks to reduce the work the server(s) has to do.

As a parting note - this article is purely my opinion and based off my experience(s) alone. I don&#039;t claim to be a Symfony2 guru nor do I have a Zend cert or any other formal programming qualification. I do however build Nginx based hosting platforms and I do have a good knowledge of squeezing performance out of the hardware and I do know what sort of resource utilization I see on the server when I&#039;m testing.

Thank you everyone who has commented, hopefully in the next few days I can get up another post to either support this one or admit my own error and walk away with my tail between my legs ;)</description>
		<content:encoded><![CDATA[<p>Ok&#8230; well this post definitely got a lot more responses than I was expecting and some very valid points. Because this post is couple of weeks old now and I can&#8217;t remember all the details off the top of my head, I&#8217;m going to setup a test again and give it another shot just to make sure I&#8217;m not overlooking something.</p>
<p>In the meantime, I&#8217;ll address some of your comments&#8230;</p>
<p>Ryan: Out of the box were the other framework tests. My tests on Symfony2 involved commenting out lots of stuff to make sure the core framework was all that was loading without Doctrine and all the other bits and pieces that come packaged in the standard install. I definitely took sometime to get Symfony as barebones as I could. I&#8217;ve had plenty of the user error problems along the way, Symfony offers a lot of features that are (quite honestly) well outside my knowledge of OOP design patterns.</p>
<p>Francois: I understand the point you are trying to make however to continue your analogy &#8211; wouldn&#8217;t you rather have a chasis that is light and strong which you can then bolt a large engine to (a server), add a trailer (ORM, whatever), or if you just want a &#8220;lambo&#8221;, throw a thin skin over the top and strip away everything that isnt necessary and still get high performance? I absolutely understand that &#8220;hello world&#8221; is a crap test and that if you wanted real performance you&#8217;d just make a html file with &#8220;hello world&#8221; inside it because as soon as you use PHP you&#8217;re going to take a huge performance hit anyway compared to the speed of a static file. I&#8217;m actually going to try Silex out as it appears to be exactly what I&#8217;m after for testing Symfony2 at its lightest. Thanks.</p>
<p>Inophage: If by &#8220;Hello World&#8221; edition you mean the Acme bundle &#8216;Hello World&#8217; demo then no. I created my own bundle which simply had a single controller with a single method which simply had: <code>return new Response('Hello World');</code> I just did a quick google and haven&#8217;t found any obvious links to a special edition.</p>
<p>Charlie: No, I was using app.php, definitely not app_dev.php.</p>
<p>Dlsinper: All my tests were on my production server, as were all the other frameworks I tested. As I mentioned earlier in this reply &#8211; I can&#8217;t remember the finer details however I&#8217;ll apply that page to my next test (which should be tomorrow sometime). With regard to ORM &#8211; I&#8217;ve had little experience with it however I do have MySQL configured with query caching and ample amounts of RAM available to it for something as trivial as a couple of basic queries to output some article stubs. With regard to my knowledge of all of these things &#8211; I&#8217;m not 100% sure that I&#8217;m not making an error and I will publish this next trial so you can all critique it. Thank you for sharing your server stats, thats interesting, can I ask what you&#8217;d roughly see on a daily/monthly basis for traffic and how much of that RAM is used for your caching strategy or is most of it for Apaches PHP threads? I personally take Apache completely out of the equation and just use Nginx + PHP with PHP-FPM enabled. I also use APC for opcode caching.</p>
<p>Josiah, Tito, and Lennart: When I do my next lot of testing (hopefully tomorrow depending on how my day shapes up), I&#8217;ll document exactly what the setup is, how I have Symfony2 configured and how I&#8217;m testing the performance. Typically I use a combination of ApacheBench and Siege depending on what I&#8217;m trying to achieve. Siege I usually setup up on a bunch of VPS&#8217;s and then try and bring my test server to its knees.</p>
<p>Celso: I&#8217;m curious too, how can Dailymotion handle it? Given that I know nothing about the hosting infrastructure that drives daily motion. I&#8217;d take a wild stab in the dark and say that large servers, copious amounts of caching, CDN, and plenty of other optimisation tricks to reduce the work the server(s) has to do.</p>
<p>As a parting note &#8211; this article is purely my opinion and based off my experience(s) alone. I don&#8217;t claim to be a Symfony2 guru nor do I have a Zend cert or any other formal programming qualification. I do however build Nginx based hosting platforms and I do have a good knowledge of squeezing performance out of the hardware and I do know what sort of resource utilization I see on the server when I&#8217;m testing.</p>
<p>Thank you everyone who has commented, hopefully in the next few days I can get up another post to either support this one or admit my own error and walk away with my tail between my legs <img src='http://www.nigeldunn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My last thoughts on Symfony2 by Ryan</title>
		<link>http://www.nigeldunn.com/2011/11/24/my-last-thoughts-on-symfony2/#comment-200</link>
		<dc:creator>Ryan</dc:creator>
		<pubDate>Wed, 07 Dec 2011 00:11:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.nigeldunn.com/?p=121#comment-200</guid>
		<description>I agree with the other commenters. I don&#039;t think that &quot;out of the box&quot; tests are meaningful for performance testing this sort of framework. The full Symfony2 stack is doing a whole lot of work. If you&#039;re writing a simple application, you can remove most of the Symfony2 stack or you can use something else. But I don&#039;t believe that saying it is slow is accurate. I&#039;ve only used Symfony2 for a few months, but I have worked with quite a few frameworks over the last few years, and Symfony2 compares favourably with all of them.

And it&#039;s learning curve is steep, but the whole framework also maintains a level of sanity that I haven&#039;t found in any other framework I&#039;ve used. After three months of fairly intensive use, basically every issue I&#039;ve had with it has come back to user error (mine).</description>
		<content:encoded><![CDATA[<p>I agree with the other commenters. I don&#8217;t think that &#8220;out of the box&#8221; tests are meaningful for performance testing this sort of framework. The full Symfony2 stack is doing a whole lot of work. If you&#8217;re writing a simple application, you can remove most of the Symfony2 stack or you can use something else. But I don&#8217;t believe that saying it is slow is accurate. I&#8217;ve only used Symfony2 for a few months, but I have worked with quite a few frameworks over the last few years, and Symfony2 compares favourably with all of them.</p>
<p>And it&#8217;s learning curve is steep, but the whole framework also maintains a level of sanity that I haven&#8217;t found in any other framework I&#8217;ve used. After three months of fairly intensive use, basically every issue I&#8217;ve had with it has come back to user error (mine).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My last thoughts on Symfony2 by Francois Mazerolle</title>
		<link>http://www.nigeldunn.com/2011/11/24/my-last-thoughts-on-symfony2/#comment-197</link>
		<dc:creator>Francois Mazerolle</dc:creator>
		<pubDate>Mon, 05 Dec 2011 13:27:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.nigeldunn.com/?p=121#comment-197</guid>
		<description>Symfony is not a framework to do hello world. Of course, if you&#039;re doing small applications (like hello word), use something else ( in that case, I don&#039;t even see why you&#039;re using a framework, just do a die(&#039;hello world&#039;); ) . For small project, I would rater go with Lithium, or if really you want to stay with symfony, but optimized for smaller projects, go with Silex.

Symfony is like a huge tools set, it&#039;s a framework that&#039;s useful for large development. Reading your post, I was thinking: &quot;It&#039;s like saying a pick up is not a fast car. It&#039;s not intended to be fast, nor confortable. Now try to pull 10 tons of rocks in a Lamborgini...&quot;</description>
		<content:encoded><![CDATA[<p>Symfony is not a framework to do hello world. Of course, if you&#8217;re doing small applications (like hello word), use something else ( in that case, I don&#8217;t even see why you&#8217;re using a framework, just do a die(&#8216;hello world&#8217;); ) . For small project, I would rater go with Lithium, or if really you want to stay with symfony, but optimized for smaller projects, go with Silex.</p>
<p>Symfony is like a huge tools set, it&#8217;s a framework that&#8217;s useful for large development. Reading your post, I was thinking: &#8220;It&#8217;s like saying a pick up is not a fast car. It&#8217;s not intended to be fast, nor confortable. Now try to pull 10 tons of rocks in a Lamborgini&#8230;&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My last thoughts on Symfony2 by Inophage</title>
		<link>http://www.nigeldunn.com/2011/11/24/my-last-thoughts-on-symfony2/#comment-196</link>
		<dc:creator>Inophage</dc:creator>
		<pubDate>Mon, 05 Dec 2011 08:54:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.nigeldunn.com/?p=121#comment-196</guid>
		<description>Do you use the Hello World Edition for your tests ?
With the standard edition, there are a lot of things not useful for a hello world test.</description>
		<content:encoded><![CDATA[<p>Do you use the Hello World Edition for your tests ?<br />
With the standard edition, there are a lot of things not useful for a hello world test.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My last thoughts on Symfony2 by charlie</title>
		<link>http://www.nigeldunn.com/2011/11/24/my-last-thoughts-on-symfony2/#comment-194</link>
		<dc:creator>charlie</dc:creator>
		<pubDate>Sun, 04 Dec 2011 18:21:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.nigeldunn.com/?p=121#comment-194</guid>
		<description>I hope you weren&#039;t using Symfony2 in dev mode.</description>
		<content:encoded><![CDATA[<p>I hope you weren&#8217;t using Symfony2 in dev mode.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My last thoughts on Symfony2 by dlsinper</title>
		<link>http://www.nigeldunn.com/2011/11/24/my-last-thoughts-on-symfony2/#comment-192</link>
		<dc:creator>dlsinper</dc:creator>
		<pubDate>Sun, 04 Dec 2011 15:05:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.nigeldunn.com/?p=121#comment-192</guid>
		<description>I have the following questions for you:
- have you bothered to run against the production environment?
- have you bothered to check this part of the documentation about the performance http://symfony.com/doc/current/book/performance.html
- have you bothered to check what Doctrine2 can offer in terms of query caching and how to use it?
- since you just jumped into using ORMs, real frameworks, PHP 5.3, are you sure you know what you are doing?

And now from my experience, I&#039;m using Symfony2 on one of the largest webstore site in Eastern Europe with clients from more that 6 countries, and after reading on how to optimize for performance either the ORM part or the Symfony2 part, we achieved some impressive performance with it, avg. response time of 68 ms, with the highest response time of 126 ms, when we have more that 3000 customers on at our peaks hours on a single server (I can&#039;t provide the exact number of customers nor the website name due to various legal stuff). The config of the server is: 16GB RAM, 8 core processor, and we have the highest load reported of 1.32 with and avg. of 0.5. Also the machine uses Apache 2.something, and we have a nginx server in front of it for caching images/js/css files and act as a load balancer.</description>
		<content:encoded><![CDATA[<p>I have the following questions for you:<br />
- have you bothered to run against the production environment?<br />
- have you bothered to check this part of the documentation about the performance <a href="http://symfony.com/doc/current/book/performance.html" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/symfony.com/doc/current/book/performance.html?referer=');">http://symfony.com/doc/current/book/performance.html</a><br />
- have you bothered to check what Doctrine2 can offer in terms of query caching and how to use it?<br />
- since you just jumped into using ORMs, real frameworks, PHP 5.3, are you sure you know what you are doing?</p>
<p>And now from my experience, I&#8217;m using Symfony2 on one of the largest webstore site in Eastern Europe with clients from more that 6 countries, and after reading on how to optimize for performance either the ORM part or the Symfony2 part, we achieved some impressive performance with it, avg. response time of 68 ms, with the highest response time of 126 ms, when we have more that 3000 customers on at our peaks hours on a single server (I can&#8217;t provide the exact number of customers nor the website name due to various legal stuff). The config of the server is: 16GB RAM, 8 core processor, and we have the highest load reported of 1.32 with and avg. of 0.5. Also the machine uses Apache 2.something, and we have a nginx server in front of it for caching images/js/css files and act as a load balancer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My last thoughts on Symfony2 by Lennart Hildebrandt</title>
		<link>http://www.nigeldunn.com/2011/11/24/my-last-thoughts-on-symfony2/#comment-190</link>
		<dc:creator>Lennart Hildebrandt</dc:creator>
		<pubDate>Sun, 04 Dec 2011 12:35:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.nigeldunn.com/?p=121#comment-190</guid>
		<description>Please delete the previous comment. I thought about it. It would be much more interessting to know how you have done this benchmark. Maybe with development enviroment features turned on?</description>
		<content:encoded><![CDATA[<p>Please delete the previous comment. I thought about it. It would be much more interessting to know how you have done this benchmark. Maybe with development enviroment features turned on?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My last thoughts on Symfony2 by Tito Miguel Costa</title>
		<link>http://www.nigeldunn.com/2011/11/24/my-last-thoughts-on-symfony2/#comment-188</link>
		<dc:creator>Tito Miguel Costa</dc:creator>
		<pubDate>Sun, 04 Dec 2011 11:36:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.nigeldunn.com/?p=121#comment-188</guid>
		<description>Hi, I&#039;m very interested in this topic, could you be more precise on how did you run your tests? How did you manage to count the requests? What commands did you run? I&#039;m learning Symfony2 at the moments, and i&#039;m forced to agree, if symfony 1 wasn&#039;t simple, Symfony2 is even harder to master.</description>
		<content:encoded><![CDATA[<p>Hi, I&#8217;m very interested in this topic, could you be more precise on how did you run your tests? How did you manage to count the requests? What commands did you run? I&#8217;m learning Symfony2 at the moments, and i&#8217;m forced to agree, if symfony 1 wasn&#8217;t simple, Symfony2 is even harder to master.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

