Hateburo: kazeburo hatenablog

SRE / 運用系小姑 / Goを書くPerl Monger

Released Gazelle, new Simple and Fast Plack Handler

I released Gazelle, new Plack handler

Gazelle - Preforked Plack Handler for performance freaks - metacpan.org

Gazelle is a Plack Handler/PSGI server. This server is optimized for running HTTP application server behind a reverse proxy like nginx. When start Gazelle behind nginx and connect via unix domain socket, Gazelle is 3 times faster than starman.

Here is benchmark of Gazelle, starman and Starlet.

f:id:kazeburo:20141114172529p:plain

Benchmark details is here.

Gazelle supports following features.

  • only supports HTTP/1.0. But not support KeepAlive feature
  • All of network i/o code are written in XS
  • ultra fast HTTP processing using picohttpparser
  • uses accept4(2) if OS support
  • uses writev(2) for output responses
  • prefork and graceful shutdown using Parallel::Prefork
  • hot deploy using Server::Starter

If you found problems and bug, please send p-r or issue to github