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>>
10 hours 42 min ago
10 hours 45 min ago
11 hours 27 min ago
12 hours 11 sec ago
1 day 10 hours ago
1 day 12 hours ago
1 day 12 hours ago
1 day 13 hours ago
1 day 18 hours ago
2 days 6 hours ago