No description, website, or topics provided.
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Pure perl multi-threading webserver (based on ithreads) capable to run Mojolicious applications.

BEWARE: it's just a proof of concept, implemented only as a demo!

BEWARE: it was tested with Mojolicious 3.47, however it is very likely that it will not work with future versions as it uses a hack into Mojolicious internals (not via public API).


usage: metyl [OPTIONS] [APPLICATION]

  metyl script/mojoapp
  metyl /path/to/
  metyl -a -p 80

These options are available:
  -a, --address <ip>  Set IP adress you want to listen on (default: localhost)
  -p, --port <num>    Set port number you want to listen on (default: 3000)
  -w, --workers <num> Set number of worker threads (default: 4)


  1. Hooking up threading vehicle to mojo's ioloop via event handler Mojo::Reactor::recurring(0.02 => {...}) is a bit suboptimal.

  2. SSL enabled Mojo apps are ignored

  3. Still quite far from hypnotoad (bechmark by sri @ dualcore macbook):

    • with keep-alive: hypnotoad at 1800 rps, metyl at 1330 rps, daemon at 1000 rps
    • without keep-alive: hypnotoad at 1100 rps, metyl at 770 rps, daemon at 800 rps