GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Plack::Server::Coro(3) User Contributed Perl Documentation Plack::Server::Coro(3)

Plack::Server::Coro - Coro cooperative multithread web server

  plackup --server Coro

This 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

This server 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 the simple Hello World app, and 300 requests to serve 2MB photo files when used with AIO modules. Brilliantly fast.

This web server sets "psgi.multithread" env var on.

Tatsuhiko Miyagawa

This module is licensed under the same terms as Perl itself.

Coro Net::Server::Coro Coro::AIO
2009-10-24 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.