Main features

  • High performance

    • Cheap context switches,
      high concurrency
    • Low memory consumption
      for each connection/request
    • EIO support (asynchronous file
      system I/O)
  • Flexibility

    • Built-in SSL/TLS support (client/server)
    • TCP/UDP transparent support (client/server)
    • Extensible nature (PSR-0 compliance)
    • Well configurable
    • Feature-rich
  • Core features

    • Dynamic Multi-Process Manager
    • Chroot, nice, jail for worker processes
    • Automatic graceful reloading user's
      scripts when it's updated
    • Graceful worker shutdown (and
      re-spawn if necessary) by the following
      limits: memory, query counter, idle time

Support and Community

Out of the Box

  • Network servers

  • Network clients

    • MySQL
      robust, zero-copy client. Supports only latest protocol
    • PostgreSQL
      robust, zero-copy client
    • MongoDB
      reature-rich, with support of async. tailable cursors
    • Memcache
      supports only text protocol yet
    • HTTP
      supports GET and POST queries
    • DNS
      tiny DNS client
    • ICMP
      you can send ICMP echo-requests from your app
    • XMPP (jabber)
      useful for building Jabber bots
    • IRC client
      useful for building IRC bots
    • Asterisk (PBX)
      extensible PBX client
    • Redis
      supports all commands (incl. Pub/Sub)
    • Gibson
      supports the entire protocol and is able to pull large multi-get response chunk by chunk
  • Web applications

    • ServerStatus
      shows uptime and some other information
    • WebSocketOverCOMET
      allows to use WebSocketConnection in Javascript (COMET, long-polling)
    • FileReader
      allows to share static files
    • CGI
      allows to serve CGI scripts
Fork me on GitHub