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>>
42 min 14 sec ago
44 min 44 sec ago
46 min 24 sec ago
55 min 16 sec ago
58 min 45 sec ago
1 hour 3 min ago
1 hour 6 min ago
1 hour 9 min ago
1 hour 12 min ago
1 hour 16 min ago