In development for almost 3 years, Lwan was until now a personal research effort that focused mostly on building a solid infrastructure for a lightweight and speedy web server. | The official Twitter account for the sum of all knowledge, Wikipedia. Overseen by @jeffelder. |
Low memory footprint (~500KiB for 10k idle connections);Minimal memory allocations & copies;Minimal system calls;Hand-crafted HTTP request parser;Static file serving uses the most efficient way according to file size;No copies between kernel and userland for files larger than 16KiB;Smaller files are sent using vectored I/O;Header overhead is considered before considering deflate compression;Mostly wait-free multi-threaded design;One thread accepts connections, one I/O thread per logical CPU handles them;Hand-crafted coroutines makes asynchronous I/O a breeze in C;Linux only, as it relies on epoll();Purpose-built I/O loop;Efficient loading cache used for;Directory listing;File information (size, last modified date, MIME type, etc);Compressed files;Diminute codebase with roughly 7200 lines of C code | - |
Statistics | |
GitHub Stars 6.0K | GitHub Stars - |
GitHub Forks 551 | GitHub Forks - |
Stacks 1 | Stacks 31 |
Followers 6 | Followers 13 |
Votes 4 | Votes 0 |
Pros & Cons | |
Pros
| No community feedback yet |

nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018.

The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant web server. Originally designed as a replacement for the NCSA HTTP Server, it has grown to be the most popular web server on the Internet.

Unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels. Slow clients should only be served by placing a reverse proxy capable of fully buffering both the the request and response in between Unicorn and slow clients.

Internet Information Services (IIS) for Windows Server is a flexible, secure and manageable Web server for hosting anything on the Web. From media streaming to web applications, IIS's scalable and open architecture is ready to handle the most demanding tasks.

Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations.
Phusion Passenger is a web server and application server, designed to be fast, robust and lightweight. It takes a lot of complexity out of deploying web apps, adds powerful enterprise-grade features that are useful in production, and makes administration much easier and less complex.

Gunicorn is a pre-fork worker model ported from Ruby's Unicorn project. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resources, and fairly speedy.

Jetty is used in a wide variety of projects and products, both in development and production. Jetty can be easily embedded in devices, tools, frameworks, application servers, and clusters. See the Jetty Powered page for more uses of Jetty.

lighttpd has a very low memory footprint compared to other webservers and takes care of cpu-load. Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression, URL-Rewriting and many more) make lighttpd the perfect webserver-software for every server that suffers load problems.

It is an open source high-performance network framework using an event-driven, asynchronous, non-blocking I/O model which makes it scalable and efficient.