-
Notifications
You must be signed in to change notification settings - Fork 3
Recent web servers
gentimouton edited this page Feb 14, 2012
·
1 revision
http://blog.martinfjordvald.com/2011/02/nginx-primer-2-from-apache-to-nginx/
http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/
http://www.tornadoweb.org/documentation/ioloop.html
- Closed source: "And as I am not paid when I publish papers, there is no incentive for me to tell the world how it works." http://forum.gwan.com/index.php?p=/discussion/comment/2233/#Comment_2233
- Only accept objective C, C++, and C apps
- JS, Python, and LUA are accepted only if compiled, ie "supported by G-WAN handlers which call a library that implements the language". http://www.wikivs.com/wiki/G-WAN_vs_Nginx
- Aims at scaling linearly with the number of cores
- Nginx hooks into userland for lots of stuffs whereas GWAN seems to remain in kernel mode for lots of them: "For the same request nginx does lesser syscalls, so if G-WAN handles more requests than nginx, it seems that G-WAN’s userland code does almost nothing" http://nbonvin.wordpress.com/2011/03/24/serving-small-static-files-which-server-to-use/#comment-125 And when benchmarking on "localhost, the only bottlenecks are the OS kernel and the Web server user-mode code (40/60 for the slow servers, 90/10 or less for G-WAN" http://nbonvin.wordpress.com/2011/03/24/serving-small-static-files-which-server-to-use/#comment-131. It sounds like GWAN has the server code inside the kernel: http://www.kegel.com/c10k.html#kio But http://news.ycombinator.com/item?id=2776927 says syscalls are expensive, and the actual smart of a web server should come from the speed of the user land code, not the request parsing + response building.
- GWAN runs 1 process with 1 thread per core. nginx has 1 process with worker processes. http://www.wikivs.com/wiki/G-WAN_vs_Nginx