Skip to content
This repository

Starman is a high-performance preforking Perl PSGI web server

Fetching latest commit…

Cannot retrieve the latest commit at this time

README
NAME
    Nomo - High-performance preforking PSGI web server

SYNOPSIS
      # Run app.psgi with the default settings
      > nomo

      # run with Server::Starter
      > start_server --port 127.0.0.1:80 -- nomo --max-servers 32 myapp.psgi

      # UNIX domain sockets
      > nomo --listen /tmp/nomo.sock

DESCRIPTION
    Nomo is a PSGI perl web server that has unique features such as:

    High Performance
        Uses the fast XS/C HTTP header parser

    Preforking
        Spawns workers preforked like most high performance UNIX servers do.
        Nomo also reaps dead children and automatically restarts the worker
        pool.

    Signals
        Supports "HUP" for graceful restarts, and "TTIN"/"TTOU" to
        dynamically increase or decrease the number of worker processes.

    Superdaemon aware
        Supports Server::Starter for hot deploy and graceful restarts.

    Multiple interfaces and UNIX Domain Socket support
        Able to listen on multiple intefaces including UNIX sockets.

    Small memory footprint
        Preloading the applications enables copy-on-write friendly memory
        management. Also, the minimum memory usage Nomo requires for the
        master process is 7MB and children (workers) is less than 3.0MB.

    PSGI compatible
        Can run any PSGI applications and frameworks

    HTTP/1.1 support
        Supports chunked requests and responses, keep-alive and pipeline
        requests.

PERFORMANCE
    A simple benchmark using "Hello.psgi" as of Plack git SHA *82121a* with
    ApacheBench concurrenty 10 and Keep-alive on.

      -- server: Nomo
      Requests per second:    6413.87 [#/sec] (mean)
      -- server: AnyEvent
      Requests per second:    3911.78 [#/sec] (mean)
      -- server: AnyEvent::HTTPD
      Requests per second:    2738.49 [#/sec] (mean)
      -- server: Standalone
      Requests per second:    1045.66 [#/sec] (mean)
      -- server: Standalone (prefork)
      Requests per second:    2792.99 [#/sec] (mean)
      -- server: HTTP::Server::Simple
      Requests per second:    1435.50 [#/sec] (mean)
      -- server: Coro
      Requests per second:    2332.00 [#/sec] (mean)
      -- server: POE
      Requests per second:    503.59 [#/sec] (mean)

NOMO?
    The name Nomo is taken from the baseball player <Hideo Nomo>, who is a
    great starter, famous for his forkball and whose nickname is Tornado.

AUTHOR
    Tatsuhiko Miyagawa <miyagawa@bulknews.net>

    Andy Grundman wrote Catalyst::Engine::HTTP::Prefork, which this module
    is heavily based on.

    Kazuho Oku wrote Net::Server::SS::PreFork that makes it easy to add
    Server::Starter support to this software.

LICENSE
    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

SEE ALSO
    Plack Catalyst::Engine::HTTP::Prefork Net::Server::Prefork

Something went wrong with that request. Please try again.