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>>
6 hours 25 min ago
8 hours 25 min ago
8 hours 45 min ago
9 hours 27 min ago
14 hours 32 min ago
1 day 2 hours ago
1 day 6 hours ago
1 day 7 hours ago
1 day 12 hours ago
1 day 13 hours ago