1

Being stuck in a MS stack architecture/development position for the last year and a half has prevented me from staying on top of the world of open source stack based web server's recent evolution more than I would have liked to. However I am now building an open source stack based application/system architecture and sadly I do not have the time to give each of the above mentioned web servers a thorough test of my own to decide. So I figured I'd get input from the best known community for systems architecture.

This is a site that is a resource for information regarding a specific domain and target audience with features to help users not only find the information but to also interact with one another in various ways for various reasons.

I chose the open source stack for the wealth of resources it has along with much better offerings than the MS stack (i.e. WordPress vs BlogEngine.NET). I feel Java is more in the middle of these stacks in this regard although I am not ruling out the possibility of using it in certain areas unrelated to the actual web app itself such as background processes.

I have already come to the conclusion of using PHP (using CodeIgniter framework & APC), MySQL (InnoDB) and Memcached on CentOS. I am definitely serving static content on Nginx. However the 3 servers mentioned have no consensus on which is best for dynamic content in regards to performance. It seems LightTPD still has the leak issue which rules it out if it does, Nginx seems it is still not mature enough for this aspect and of course Apache tries to be everything for everybody.

I am still going to compile the one chosen with as many performance tweaks as possible such as static linking and the likes. I believe I can get Apache to match the other 2 in regards to serving dynamic content through this process and not having it serve anything static. However during my research it seems the others are still worth considering.

So with all things considered I would love to hear what everyone here has to say on the matter. Thanks!

1
  • So far I haven't seen you mention any tools that don't run on windows. nginx, wordpress, mysql, php, java and apache all run on windows, many times with better performance ( PHP in particular I've seen 4-5 times peformance increase on the same hardware)
    – Jim B
    Jul 12, 2009 at 13:39

3 Answers 3

2

Take this with a few grains of salt, but my impression is that Apache will be somewhat easier to configure to serve PHP than the other two servers. And if you set up Apache properly, i.e. don't load unnecessary modules, keep the number of processes/threads under control, etc. then I think you can get it reasonably close in efficiency to nginx or lighttpd. I think many people have a somewhat exaggerated opinion of the improvement one can get using lighttpd or nginx over Apache for dynamically generated pages.

1
  • That is my thinking. With all the optimizations that can be done during compile and configuration it will end up equal. I wasn't 100% sure but even if they are a bit faster than an optimized Apache it will be minimal enough to make its maturity and the likes outweigh that. Although the consensus during my research still leaves one wondering. Jul 12, 2009 at 5:00
1

I personally think nginx is easier to configure than Apache. Looking at Apache configs tend to make my head hurt.

As far as configs go, my current preferred setup is nginx + php-fpm + APC. I have several clients running very happily with this config and they typically have migrated off of Apache based setups. Obviously, YMMV. =)

2
  • I hear ya, httpd.conf can be a beast. One of the main problems with that is the adding of psuedo-documentation within the config file. You'll find if you take all that and the commented modules out it becomes much more manageable. Regardless I am coming from a high performance/availability perspective. Regardless, thanks for the input since it will still be used for my static content. Jul 13, 2009 at 13:38
  • FWIW, I also find that resource consumption is lower with this setup as compared to Apache.
    – Jauder Ho
    Jul 13, 2009 at 21:32
0

Since you mention CodeIgniter, you might want to have a look at Kohana which was originally a fork of CodeIgniter, however has implemented all OO on the improved OO concept of php5.I am not saying either is better, in the end it is a matter of personal preference.

1
  • Yeah, I remember it from its Blue Flame days and have fiddled with the latest version but it just has a more bulky feel to it. II figured I'd retrofit any Kohana features that I may need to CI such as the payment module. My UI developer prefers Kohana and uses it for freelance. So in the end it is more a matter of personal preference. Regardless, still good suggestion. Jul 12, 2009 at 4:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .