Hacker News new | past | comments | ask | show | jobs | submit login
Nginx vs Yaws vs MochiWeb : Web Server Performance Deathmatch, Part 2 (joeandmotorboat.com)
18 points by qhoxie on Jan 4, 2009 | hide | past | favorite | 8 comments



Its key to point out is that you would normally use nginx as a proxy to some other app server (nginx->mongrel) while with an erlang http server, it _is_ your app server and you may not need to add something like nginx in front.

Its good to see all three products do well, keeping in mind the benchmark scenario is highly artificial. The results show that in the case of these three products you should make your choice based on what kind of app you need to build and trust that they each perform well.


In fact, most people running heavy-duty mochiweb or yaws servers will still proxy them behind nginx. Mochi or yaws can stand alone for a lot of use cases, but a good load-balancing proxy and static page cache never really hurts...


Resource usage can be a major factor in this too, and nginx stands alone in that respect. Having yaws using 80%+ cpu under load might be more comparable to having nginx use 40% plus the overhead of an app server.


Unfortunately my main site hasn't given me an excuse to tinker with the setup, so I'm going to ask here.

Right now I use Apache 2.2.x in front of a pack of Mongrels and mod_cache is enabled to cache content based on Expires headers. (I tried Passenger over the summer but it still had issues at the time).

Now with mod_cache, mod_proxy_balancer and my mongrels I have a very stable setup with only two programs. What sort of benefit would there be to using nginx and say varnishd along with mongrels?

I know varnish is a much more flexible cache than mod_cache, but would there really be a performance boost of any note?


This doesn't look like a very rigorous analysis to me. All the tests go haywire in the upper regions, which suggests that there might be something else at work. At the very least, it doesn't really show which server does better in which situations.


nginx has proven itself to be a pretty stable webserver for both proxying and static file serving. It's really useful to put your Apache process behind because you get the advantage of lightweight keep-alive for static content as well as the fact that the proxy keeps Apache from being overloaded. Really nice.

I don't know as much about the other two, but they seem somewhat Erlang-centric. Which isn't a bad thing, but makes them less useful for me.


What about lighttpd?


lighty is comparable in speed to nginx but has more stability issues.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: