Skip to content

Instantly share code, notes, and snippets.

@wnuqui
Last active December 11, 2015 20:09
Show Gist options
  • Save wnuqui/4653064 to your computer and use it in GitHub Desktop.
Save wnuqui/4653064 to your computer and use it in GitHub Desktop.
3 bare bone rails applications using 3 jruby application servers (all running in heroku cedar)
# JAVA_OPTS and Procfiles
JAVA_OPTS: -Djruby.memory.max=384m -Xmx384m -Xms256m -Xss512k -XX:+UseCompressedOops -XX:+PrintGCDetails
# puma backed app's Procfile
web: bundle exec rails server puma -p $PORT -e $RACK_ENV
# torquebox-lite backed app's Procfile
web: bin/torquebox-lite -b 0.0.0.0 -p $PORT --max-threads=8
# trinidad backed app's Procfile
web: trinidad -p $PORT --threadsafe --runtimes 1:1
# Summary
#
# After blitzing (via blitz.io) 3 bare bone Rails application that uses 3 different jruby application servers gives
# the following results:
#
# All applications are blitzed using their home url which just render string.
# blitz.io rush rate is 1-250:60 (1 to 60 users doing root url request in 60 seconds)
#
# puma
# | hits | errors | timeouts | average response | memory (ram) |
# | 1340 | 0 | 2654 | 498 ms | 752M - R14 |
# | 4330 | 0 | 1017 | 222 ms | 522M - R14 |
# | 2756 | 0 | 2065 | 199 ms | 547M - R14 |
#
# - fastest: 199 ms, slowest: 498 ms
# - last blitz.io graph: http://i.imgur.com/qJPpomH.jpg
#
# torquebox-lite
# | hits | errors | timeouts | average response | memory (ram) |
# | 6473 | 0 | 64 | 133 ms | 802M - R14 |
# | 6359 | 1 | 79 | 175 ms | 803M - R14 |
# | 6595 | 0 | 50 | 122 ms | 799M - R14 |
#
# - fastest: 122 ms, slowest: 122 ms
# - random errors once R14:
# - http://i.imgur.com/WLUZcAG.jpg
# - http://i.imgur.com/IOHE0G9.png
# - last blitz.io graph: http://i.imgur.com/nmdPm7C.jpg
#
# trinidad
# | hits | errors | timeouts | average response | memory (ram) |
# | 6927 | 0 | 0 | 72 ms | below 512M |
# | 7063 | 0 | 0 | 52 ms | below 512M |
# | 7087 | 0 | 0 | 45 ms | below 512M |
#
# - fastest: 45 ms, slowest: 72 ms
# - last blitz.io graph: http://i.imgur.com/U2a8QkW.jpg
#
#
# Clearly, given a bare bone rails application, after 3 blitz.io rushing(s):
#
# - trinidad is the fastest and has fewest errors and not exceeding 512 heroku dyno ram memory
# - torquebox-lite is second in speed but has 1 error and exceeds 512M heroku dyno ram memory
# - puma is the slowest and no errors and exceeds 512M heroku dyno ram memory
#
# ALSO, it is worth noting here that amidst the app is just bare bone puma and torquebox-lite keeps on eating so much memory.
#
# - wnuqui & dominicpacquing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment