Hi I am Phil!
@sideshowcoder (github)
@cospired (work)
Lightning fast rails with
zeus
...or more like
This is what we got...
This is what we want...*
* or faster!!!111elf!
Ruby 1.9
Ruby 2.0
So what is Zeus?
System for preforking and
managing a Rails Env
FileMonitor
keep track of modifications to reload the
environment as needed
SlaveMonitor
Keep an environment ready for you at all
time
ClientRequest Handler
Dispatch calls by the clients to slaves
Setting it all up
gem 'zeus'... I got it in my Gemfile
Recompile ruby?
Actually I don't and it's not been a problem
so far...
./bin/zeus init
binstubs are great, and make zeus faster
config.json
It's pretty hassle free
... and works most of the time just fine
No zeus specific code in
the app
or tests
What to not use it for...
Zeus won't make your DB
dependent view tests fast
and shouldn't because they should not
depend...
Zeus will make your rails
dependent PORO tests
fast
... not sure if this is a good thing so!
So be carefull zeus can
be to good to be true
sometimes
Slow tests are slow
don't fix with duck-tape and staples...
What to use it for...
rake routes shouldn't take
30sec or so...
rails runner ... as well
run all rails commands in a sane amount of
time
Some issues...
Be ready to restart...
because new files are not recognized
Vagrant shared folders
CIFS does not like sockets*
* currently discussion around that in the issues #287 #231
So overall...
it works, there are a lot of valid usecases, ...
and some not so valid
Questions?
Thanks!
Ressources
● http://robots.thoughtbot.
com/post/40193452558/improving-rails-boot-
time-with-zeus
● https://github.com/burke/zeus/
● https://github.com/sideshowcoder/zeus for
configurable sock location
● https://github.com/rails/commands
● https://github.com/sporkrb/spork
● https://github.com/jonleighton/spring

Lighting fast rails with zeus