Deploy, Scale andSleep at Nightwith JRuby@codefinger
Deploy, Scale andSleep at Night                Ruby onwith JRuby@codefinger     the JVM
java_import “java.io.File” Java::JavaLang::String
you
sysadminyou
$ cap deploy                     sysadminyou
CPU$                                              RAM$120"100" 80" 60" 40" 20"  0"       1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 11...
HTTP            Request          Apache/Nginx MRI                      MRIMongrel                  Mongrel
Ruby     Ruby     RubyThread   Thread   Thread          GIL         Kernel         Thread
HTTP          Request        Apache/Nginx            JVMJRuby                       Thread
http://torquebox.org/news/2011/10/06/torquebox-2x-performance/
1) JRuby...2) ?3) Profit!
1) JRuby...2) Deployment3) Profit!
JRuby  Archive File  CapistranoBackground Jobs   Clustering     PaaS
Warbler           Trinidad        TorqueBoxArchive File     Archive File      Archive File                 Capistrano     ...
Warbler$ gem install warbler$ warble war     WA        R   File
$ apt-get install tomcat6                        WA                           R   File
$ apt-get install tomcat6/var/lib/tomcat6|-- common/|-- conf/                        WA|-- logs/                  R   File...
Warbler              + Tomcat/Jetty/WebLogic/JBoss                                Tomcat/Jetty                            ...
Warbler              + Tomcat/Jetty/WebLogic/JBoss                                 Tomcat/Jetty                           ...
Trinidad$ gem install trinidad$ rails s trinidad
Trinidad                             Trinidad Serverapp1/                                  Extensions|-- app/|-- config/|-...
TorqueBox$ gem install torquebox-server$ torquebox run             then$ torquebox deploy
TorqueBox                              TorqueBox                                       Job Schedulerapp1/|-- app/|-- confi...
TorqueBox            TorqueBoxTorqueBox               TorqueBox             clusterTorqueBox               TorqueBox      ...
Other Options• Mizuno• Puma
Cloud•   Heroku•   EngineYard (Trinidad)•   OpenShift (TorqueBox)•   CloudBees (Warbler)•   Google AppEngine
PeopleProcesses            Technologies
Text              Text               Text                Text                 Text                  Texthttp://pragprog.co...
http://logichaus.com
The End
The End
Deploy, Scale and Sleep at Night with JRuby
Deploy, Scale and Sleep at Night with JRuby
Deploy, Scale and Sleep at Night with JRuby
Deploy, Scale and Sleep at Night with JRuby
Deploy, Scale and Sleep at Night with JRuby
Deploy, Scale and Sleep at Night with JRuby
Deploy, Scale and Sleep at Night with JRuby
Upcoming SlideShare
Loading in...5
×

Deploy, Scale and Sleep at Night with JRuby

3,494

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,494
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Passenger and Unicorn had 50 workers. \n\nTorqueBox and Trinidad were capped at 100 HTTP threads (to match DB connection pool size).\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript of "Deploy, Scale and Sleep at Night with JRuby"

    1. 1. Deploy, Scale andSleep at Nightwith JRuby@codefinger
    2. 2. Deploy, Scale andSleep at Night Ruby onwith JRuby@codefinger the JVM
    3. 3. java_import “java.io.File” Java::JavaLang::String
    4. 4. you
    5. 5. sysadminyou
    6. 6. $ cap deploy sysadminyou
    7. 7. CPU$ RAM$120"100" 80" 60" 40" 20" 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 11" 12" 13" 14" 15" 16" 17" 18" 19" 20" 21" 22"
    8. 8. HTTP Request Apache/Nginx MRI MRIMongrel Mongrel
    9. 9. Ruby Ruby RubyThread Thread Thread GIL Kernel Thread
    10. 10. HTTP Request Apache/Nginx JVMJRuby Thread
    11. 11. http://torquebox.org/news/2011/10/06/torquebox-2x-performance/
    12. 12. 1) JRuby...2) ?3) Profit!
    13. 13. 1) JRuby...2) Deployment3) Profit!
    14. 14. JRuby Archive File CapistranoBackground Jobs Clustering PaaS
    15. 15. Warbler Trinidad TorqueBoxArchive File Archive File Archive File Capistrano Capistrano Background Jobs Background Jobs Clustering PaaS PaaS PaaS
    16. 16. Warbler$ gem install warbler$ warble war WA R File
    17. 17. $ apt-get install tomcat6 WA R File
    18. 18. $ apt-get install tomcat6/var/lib/tomcat6|-- common/|-- conf/ WA|-- logs/ R File|-- shared/|-- webapps/`-- work/
    19. 19. Warbler + Tomcat/Jetty/WebLogic/JBoss Tomcat/Jetty ServerWA SSH/FTP/SMB R File
    20. 20. Warbler + Tomcat/Jetty/WebLogic/JBoss Tomcat/Jetty ServerWA SSH/FTP/SMB R FileWA SSH/FTP/SMB R File
    21. 21. Trinidad$ gem install trinidad$ rails s trinidad
    22. 22. Trinidad Trinidad Serverapp1/ Extensions|-- app/|-- config/|-- db/ Capistrano|-- lib/ Job Scheduler (Quartz)`-- config.ru Background Jobsapp2/ (Resque)|-- app/|-- config/|-- db/ Capistrano DB Pool|-- lib/`-- config.ru (Commons DBCP)
    23. 23. TorqueBox$ gem install torquebox-server$ torquebox run then$ torquebox deploy
    24. 24. TorqueBox TorqueBox Job Schedulerapp1/|-- app/|-- config/|-- db/ Capistrano Messaging|-- lib/`-- config.ru Session Replication High Availability Knob Services SSH/FTP/SMB File Stomplets Clustering
    25. 25. TorqueBox TorqueBoxTorqueBox TorqueBox clusterTorqueBox TorqueBox TorqueBox
    26. 26. Other Options• Mizuno• Puma
    27. 27. Cloud• Heroku• EngineYard (Trinidad)• OpenShift (TorqueBox)• CloudBees (Warbler)• Google AppEngine
    28. 28. PeopleProcesses Technologies
    29. 29. Text Text Text Text Text Texthttp://pragprog.com/book/jkdepj
    30. 30. http://logichaus.com
    31. 31. The End
    32. 32. The End

    ×