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

    Nomo - High-performance preforking PSGI web server

      # Run app.psgi with the default settings
      > nomo

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

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

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

    High Performance
        Uses the fast XS/C HTTP header parser

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

        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

    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)

    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.

    Tatsuhiko Miyagawa <>

    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.

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

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

Something went wrong with that request. Please try again.