Corona
view release on metacpan or search on metacpan
SYNOPSIS
corona --listen :9090 app.psgi
DESCRIPTION
Corona is a Coro based Plack web server. It uses Net::Server::Coro under
the hood, which means we have coroutines (threads) for each socket,
active connections and a main loop.
Because it's Coro based your web application can actually block with I/O
wait as long as it yields when being blocked, to the other coroutine
either explicitly with "cede" or automatically (via Coro::* magic).
# your web application
use Coro::LWP;
my $content = LWP::Simple::get($url); # this yields to other threads when IO blocks
Corona also uses Coro::AIO (and IO::AIO) if available, to send the
static filehandle using sendfile(2).
The simple benchmark shows this server gives 2000 requests per second in
lib/Corona.pm view on Meta::CPAN
corona --listen :9090 app.psgi
=head1 DESCRIPTION
Corona is a Coro based Plack web server. It uses L<Net::Server::Coro>
under the hood, which means we have coroutines (threads) for each
socket, active connections and a main loop.
Because it's Coro based your web application can actually block with
I/O wait as long as it yields when being blocked, to the other
coroutine either explicitly with C<cede> or automatically (via Coro::*
magic).
# your web application
use Coro::LWP;
my $content = LWP::Simple::get($url); # this yields to other threads when IO blocks
Corona also uses L<Coro::AIO> (and L<IO::AIO>) if available, to send
the static filehandle using sendfile(2).
( run in 0.442 second using v1.01-cache-2.11-cpan-26ccb49234f )