Multiprocessing, multithreading and evented I/O: the trade-offs in Web
servers.
A Web server needs to support concurrency. The server should service
clients in a timely, fair manner to ensure that no client starves
because some other client causes the server to hang. Multiprocessing
and multithreading, and hybrids of these, are traditional ways to
achieve concurrency. Node.js represents another way, one based on system libraries
for asynchronous I/O, such as epoll (Linux) and kqueue (FreeBSD). To
highlight the trade-offs among the approaches, I have three echo servers
written in close-to-the-metal C: a forking_server, a threading_server
and a polling_server.
more>>
2 hours 56 min ago
3 hours 5 min ago
9 hours 39 min ago
9 hours 46 min ago
11 hours 28 min ago
15 hours 15 min ago
15 hours 17 min ago
16 hours 15 min ago
16 hours 18 min ago
16 hours 23 min ago