Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 109 lines (82 sloc) 3.834 kb
e4ae7eb @miyagawa Initial commit
authored
1 NAME
f165d4d @miyagawa rename the module to top-level namespace. See =head1 NAMING for details.
authored
2 Starman - High-performance preforking PSGI web server
e4ae7eb @miyagawa Initial commit
authored
3
4 SYNOPSIS
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
5 # Run app.psgi with the default settings
9b2c592 @miyagawa rename Nomo to Starman, while respecting the CPANism to prefix
authored
6 > starman
e4ae7eb @miyagawa Initial commit
authored
7
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
8 # run with Server::Starter
1132d08 @miyagawa fix pods
authored
9 > start_server --port 127.0.0.1:80 -- starman --workers 32 myapp.psgi
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
10
11 # UNIX domain sockets
9b2c592 @miyagawa rename Nomo to Starman, while respecting the CPANism to prefix
authored
12 > starman --listen /tmp/starman.sock
e4ae7eb @miyagawa Initial commit
authored
13
14 DESCRIPTION
9b2c592 @miyagawa rename Nomo to Starman, while respecting the CPANism to prefix
authored
15 Starman is a PSGI perl web server that has unique features such as:
e4ae7eb @miyagawa Initial commit
authored
16
17 High Performance
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
18 Uses the fast XS/C HTTP header parser
e4ae7eb @miyagawa Initial commit
authored
19
20 Preforking
fcd26ee @miyagawa document signals. Enable graceful restart by default
authored
21 Spawns workers preforked like most high performance UNIX servers do.
9b2c592 @miyagawa rename Nomo to Starman, while respecting the CPANism to prefix
authored
22 Starman also reaps dead children and automatically restarts the
23 worker pool.
fcd26ee @miyagawa document signals. Enable graceful restart by default
authored
24
25 Signals
26 Supports "HUP" for graceful restarts, and "TTIN"/"TTOU" to
27 dynamically increase or decrease the number of worker processes.
3cc0590 @miyagawa Added ControlFreak support. Reworked wrapper/chain callback interface.
authored
28
e4ae7eb @miyagawa Initial commit
authored
29 Superdaemon aware
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
30 Supports Server::Starter for hot deploy and graceful restarts.
700ad42 @miyagawa docs
authored
31
fcd26ee @miyagawa document signals. Enable graceful restart by default
authored
32 Multiple interfaces and UNIX Domain Socket support
33 Able to listen on multiple intefaces including UNIX sockets.
e4ae7eb @miyagawa Initial commit
authored
34
53cca0a @miyagawa Display the master/worker in the process list. Document the memory footp...
authored
35 Small memory footprint
36 Preloading the applications enables copy-on-write friendly memory
9b2c592 @miyagawa rename Nomo to Starman, while respecting the CPANism to prefix
authored
37 management. Also, the minimum memory usage Starman requires for the
53cca0a @miyagawa Display the master/worker in the process list. Document the memory footp...
authored
38 master process is 7MB and children (workers) is less than 3.0MB.
39
e4ae7eb @miyagawa Initial commit
authored
40 PSGI compatible
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
41 Can run any PSGI applications and frameworks
3cc0590 @miyagawa Added ControlFreak support. Reworked wrapper/chain callback interface.
authored
42
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
43 HTTP/1.1 support
44 Supports chunked requests and responses, keep-alive and pipeline
45 requests.
e4ae7eb @miyagawa Initial commit
authored
46
07231b7 @miyagawa Checking in changes prior to tagging of version 0.1002. Changelog diff ...
authored
47 UNIX only
48 This server does not support Win32.
49
3d42b4a @miyagawa docs
authored
50 PERFORMANCE
c0f9968 @miyagawa docs
authored
51 Here's a simple benchmark using "Hello.psgi".
3d42b4a @miyagawa docs
authored
52
2c4db00 @miyagawa update benchmarks
authored
53 -- server: Starman (workers=10)
54 Requests per second: 6849.16 [#/sec] (mean)
55 -- server: Twiggy
3d42b4a @miyagawa docs
authored
56 Requests per second: 3911.78 [#/sec] (mean)
57 -- server: AnyEvent::HTTPD
58 Requests per second: 2738.49 [#/sec] (mean)
2c4db00 @miyagawa update benchmarks
authored
59 -- server: HTTP::Server::PSGI
60 Requests per second: 2218.16 [#/sec] (mean)
61 -- server: HTTP::Server::PSGI (workers=10)
3d42b4a @miyagawa docs
authored
62 Requests per second: 2792.99 [#/sec] (mean)
63 -- server: HTTP::Server::Simple
64 Requests per second: 1435.50 [#/sec] (mean)
1794a8d @miyagawa Checking in changes prior to tagging of version 0.1003.
authored
65 -- server: Corona
3d42b4a @miyagawa docs
authored
66 Requests per second: 2332.00 [#/sec] (mean)
67 -- server: POE
68 Requests per second: 503.59 [#/sec] (mean)
69
c0f9968 @miyagawa docs
authored
70 This benchmark was processed with "ab -c 10 -t 1 -k" on MacBook Pro 13"
71 late 2009 model on Mac OS X 10.6.2 with perl 5.10.0. YMMV.
72
f165d4d @miyagawa rename the module to top-level namespace. See =head1 NAMING for details.
authored
73 NAMING
74 Starman?
75 The name Starman is taken from the song (*Star na Otoko*) by the
1132d08 @miyagawa fix pods
authored
76 Japanese rock band Unicorn (yes, Unicorn!). It's also known as a song by
77 David Bowie, a power-up from Super Mario Brothers and a character from
78 Earthbound, all of which I love.
f165d4d @miyagawa rename the module to top-level namespace. See =head1 NAMING for details.
authored
79
c0f9968 @miyagawa docs
authored
80 Why the cute name instead of more descriptive namespace? Are you on drugs?
81 I'm sick of naming Perl software like
f165d4d @miyagawa rename the module to top-level namespace. See =head1 NAMING for details.
authored
82 HTTP::Server::PSGI::How::Its::Written::With::What::Module and people
1132d08 @miyagawa fix pods
authored
83 call it HSPHIWWWM on IRC. It's hard to say on speeches and newbies would
84 ask questions what they stand for every day. That's crazy.
f165d4d @miyagawa rename the module to top-level namespace. See =head1 NAMING for details.
authored
85
c0f9968 @miyagawa docs
authored
86 This module actually includes the longer alias and an empty subclass
f165d4d @miyagawa rename the module to top-level namespace. See =head1 NAMING for details.
authored
87 HTTP::Server::PSGI::Net::Server::PreFork for those who like to type more
88 ::'s. It would actually help you find this software by searching for
89 *PSGI Server Prefork* on CPAN, which i believe is a good thing.
3d42b4a @miyagawa docs
authored
90
c0f9968 @miyagawa docs
authored
91 Yes, maybe I'm on drugs. We'll see.
92
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
93 AUTHOR
94 Tatsuhiko Miyagawa <miyagawa@bulknews.net>
e4ae7eb @miyagawa Initial commit
authored
95
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
96 Andy Grundman wrote Catalyst::Engine::HTTP::Prefork, which this module
97 is heavily based on.
e4ae7eb @miyagawa Initial commit
authored
98
3d42b4a @miyagawa docs
authored
99 Kazuho Oku wrote Net::Server::SS::PreFork that makes it easy to add
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
100 Server::Starter support to this software.
e4ae7eb @miyagawa Initial commit
authored
101
102 LICENSE
103 This library is free software; you can redistribute it and/or modify it
104 under the same terms as Perl itself.
105
106 SEE ALSO
f8bdf60 @miyagawa Rewrote Nomo using Catalyst::Engine::HTTP::Prefork as a base code.
authored
107 Plack Catalyst::Engine::HTTP::Prefork Net::Server::Prefork
e4ae7eb @miyagawa Initial commit
authored
108
Something went wrong with that request. Please try again.