I am interested in learning how to write extremely efficient network server software and I don't mind getting my hands dirty with pointers, sockets and threading. I'm talking a server being able to handle thousands of concurrent connections. There is not much processing for each client, but a little.
Do you know of any code examples for really efficient network servers?
Optionally points for small, well documented code that is cross-platform as well.
You'll find a lot of good references and discussion about building highly scalable network servers on Dan Kegel's The C10K problem page.
Have a look at nginx, lighttpd and varnish for some popular high performance http servers.
BTW, I am currently working on combining edge-triggered epoll with multithreading (plus user-level swapcontext-style threads/fibers) - see http://svn.cmeerw.net/src/nginetd/trunk/ for some work-in-progress code (although this one is written in C++).
This may not be exactly what you are looking for, but I briefly recall looking at Space Tyrant a few years back and thinking it sounded cool.
http://librenix.com/?inode=6240
Hope it helps!
Read this
http://www.evanmiller.org/lxr/http/source/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With