Twiggy is a lightweight and fast HTTP server with unique features such as:
Can run any PSGI applications. Fully supports psgi.nonblocking and psgi.streaming interfaces.
This server uses AnyEvent and runs in a non-blocking event loop, so it's best to run event-driven web applications that runs I/O bound jobs or delayed responses such as long-poll, WebSocket or streaming content (server push).
This software used to be called Plack::Server::AnyEvent but was renamed to Twiggy.
Uses XS/C based HTTP header parser for the best performance. (optional, install the HTTP::Parser::XS module to enable it; see also Plack::HTTPParser for more information).
The memory required to run twiggy is 6MB and it can serve more than 4500 req/s with a single process on Perl 5.10 with MacBook Pro 13" late 2009.
Supports Server::Starter for hot deploy and graceful restarts.
To use it, instead of the usual:
plackup --server Twiggy --port 8111 app.psgi
install Server::Starter and use:
start_server --port 8111 -- plackup --server Twiggy app.psgi