Description The Flash Web server is a high-performance Web server developed using a novel concurrency architecture. It combines the high performance of single-process event-driven servers on cached workloads with the performance of multi-process and multi-threaded servers on disk-bound workloads. Furthermore, the Flash Web server is easily portable since it achieves these results using facilities available in all modern operating systems.
The Flash Web Server is described in detail in the paper "Flash: An efficient and portable Web server." Note that the current release is version 0.1 alpha, an experimental release. It is currently experimental software and is not intended for production use in its present form.Features
The source code is small enough that it can be understood within a week by a senior undergraduate or early graduate student. As such, Flash is suitable for course projects.Platforms The Flash Web Server has been compiled and run on
In short, if you are using the Flash server at a company in any capacity, then you must negotiate a license with the Rice University Office of Technology Transfer. Likewise if you are using it in any commercial capacity.
The Flash Web Server is copyrighted software and can NOT be redistributed. Please see the copyright notice for more details regarding the license terms and copyrights.Files The Flash Web Server version 0.1a package includes all of the source files necessary to build the server. If you download the source-only version, we assume the availability of the gcc compiler or its equivalent, along with the gnumake utility. For more details, see the README file including with the package. Unpacking the files requires the gunzip and tar programs.
Note that the code released here has not been state-of-the-art for some time - it uses the standard select system call (not scalable), it uses writev instead of sendfile (more data copies), and uses far more mapped regions than is advisable. To download the package, please go here. Please do so only if you provably meet the requirements for the free version of the license. Commercial inquiries should be directed to the Office of Technology Transfer at Rice University.
To do a reasonable job of benchmarking, particularly on Linux, please take the following steps: