3 ms·
The Flash Web Server (1999)
- jagger27 11y agoAnyone have a link to the paper? It's 404 on TFA.
- HillRat 11y agoTry the USENIX archive: https://www.usenix.org/legacy/event/usenix99/full_papers/pai/pai.pdf https://www.usenix.org/legacy/event/usenix99/full_papers/pai...
- w8rbt 11y agoI believe that Apache incorporates most of the optimizations today. However, unlike Flash, it is not event driven.
- jimjag 11y agoActually, Apache 2.4 does include an event-based, async MPM: Event. The Event MPM has not been "just" an optimized keep keepalive Worker variant for years.
- joosters 11y agoBrief 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.