3 ms·
Brief summary: The flash web server's distinguishing feature is that it uses multiple lightweight processes to do the blocking I/O required to read a file from
by joosters 11y ago
Brief summary:
The flash web server's distinguishing feature is that it uses multiple lightweight processes to do the blocking I/O required to read a file from the disk.
I think that their paper is flawed in some ways. They state that other web servers will block when doing disk I/O. But this is not true; you can easily read a file in and send it out over the network without any blocking at all, by using techniques like sendfile() (and related syscalls, sendpath(), splice() etc), or by mmapping files.
Several web servers used one or more of these techniques back in 1999. The paper doesn't even mention sendfile(), which has the added performance advantage that the file contents don't even have to be copied into the web server's process memory. It's hard to see how their approach is better.
I'm not going to claim their benchmarks are wrong, but it's very easy to optimize your own server while testing against a sub optimally configured competitor.
Edit: They tested on FreeBSD 2.2.6 - which lacked sendfile() - this may explain their results.