lpereira/lwan
FreeExperimental, scalable, high performance HTTP server
FreeFree tier
About lpereira/lwan
Lwan is a high-performance scalable web server written in C, designed for efficiency and flexibility. It supports TLS encryption via mbedTLS, multiple compression algorithms (zlib, brotli, zstd), and optional Lua scripting (Lua 5.1 or LuaJIT) for dynamic content. The server is cross-platform (Linux, FreeBSD, macOS) and can be built with CMake, with support for alternative memory allocators (mimalloc, jemalloc, tcmalloc). It includes a bundled benchmark tool (Weighttp) and a test suite. The project is marked as experimental and is actively developed on GitHub.
Key Features
High-performance scalable HTTP server
Supports TLS via mbedTLS
Compression support (zlib, brotli, zstd)
Optional Lua scripting (Lua 5.1 or LuaJIT)
Alternative memory allocators (mimalloc, jemalloc, tcmalloc)
Cross-platform (Linux, FreeBSD, macOS)
CMake build system
Bundled benchmark tool (Weighttp)
Test suite with Python
Pros & Cons
Pros
- High performance and scalability
- Open source with permissive license
- Supports multiple compression algorithms
- Optional Lua scripting for dynamic content
- Runs on multiple platforms
- Active development on GitHub
Cons
- Experimental – may not be production-ready
- Limited documentation (primarily README)
- No built-in application-level features like routing or templating
- Requires manual build from source for most distributions
Best For
Serving static and dynamic web contentBenchmarking and performance testingLearning and experimenting with HTTP server internalsDeploying lightweight web applications
FAQ
Is Lwan production-ready?
The project is labeled as experimental, so it may not be suitable for production use without thorough testing.