0
It’s a Bird…
It’s a Plane…
                    DigitalSonic
No, it’s Superman     Oct. 2009
How many Rails developers
  have Java knowledge?
• The Best of JVM
• It’s Just Ruby
• Platform Independent
Have a Try
•   Download the latest JRuby distribution
•   Unpack
•   Add the bin path to $PATH or %PATH%
•   Test it
    ...
Ruby => JRuby
• ruby  jruby
• C backend libraries  Java backend libraries
• …

• gem  jruby –S gem
• rake  jruby –S ra...
Ruby on Rails => JRuby on Rails

adapter: mysql
mongrel
RMagick
…

                  adapter: jdbcmysql
                  ...
Both Rails and Java EE projects are
  running in the same Java AS?
Warbler

• Warbler is a gem
  that makes a .war
  file out of a Rails,
  Merb, or Rack-based
  application.

http://kenai....
Rails in Java AS
•   Tomcat
•   Jetty (jetty-rails)
•   Glassfish v2 / v3 (gem)
•   JBoss (JBoss-Rails)
•   …
Rails in Java AS (cont.)
                      • Connection Pool
                      • Load-Balance



             •   ...
Showcase: Blog
• Getting Started with Rails
   http://guides.rubyonrails.org/getting_started.html

• Step by Step
   jru...
Showcase: Blog (cont.)
Showcase: Monitor
• Tomcat Monitor Tools
  PSI Probe (Lambda Probe)
  Hyperic HQ
• VM Monitor Tools
  JConsole
  Visua...
Showcase: Monitor (cont.)
Showcase: Monitor (cont.)
Showcase: Simple Tuning
• VM
      -Xmx768m -Xms768m -Xmn256m -XX:MaxPermSize=128m -
       XX:PermSize=128m
• Tomcat Con...
Showcase: Simple Tuning (cont.)
                      Time Taken For Tests (s)
200              185.817
180
160           ...
Reference
• http://jruby.org
• http://rubyonrails.org/
• http://kenai.com/projects/jruby/

• Practical JRuby on Rails Web ...
Q&A
J Ruby   Kungfu Rails
Upcoming SlideShare
Loading in...5
×

J Ruby Kungfu Rails

1,392

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,392
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
29
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "J Ruby Kungfu Rails"

  1. 1. It’s a Bird… It’s a Plane… DigitalSonic No, it’s Superman Oct. 2009
  2. 2. How many Rails developers have Java knowledge?
  3. 3. • The Best of JVM • It’s Just Ruby • Platform Independent
  4. 4. Have a Try • Download the latest JRuby distribution • Unpack • Add the bin path to $PATH or %PATH% • Test it jruby –v jirb jirb_swing
  5. 5. Ruby => JRuby • ruby  jruby • C backend libraries  Java backend libraries • … • gem  jruby –S gem • rake  jruby –S rake • rails  jruby –S rails
  6. 6. Ruby on Rails => JRuby on Rails adapter: mysql mongrel RMagick … adapter: jdbcmysql mongrel-jruby RMagick4J …
  7. 7. Both Rails and Java EE projects are running in the same Java AS?
  8. 8. Warbler • Warbler is a gem that makes a .war file out of a Rails, Merb, or Rack-based application. http://kenai.com/projects/warbler
  9. 9. Rails in Java AS • Tomcat • Jetty (jetty-rails) • Glassfish v2 / v3 (gem) • JBoss (JBoss-Rails) • …
  10. 10. Rails in Java AS (cont.) • Connection Pool • Load-Balance • Larger JVM Memory Size • Server JVM • Latest JDK • Sun JDK / BEA JRockit ?
  11. 11. Showcase: Blog • Getting Started with Rails http://guides.rubyonrails.org/getting_started.html • Step by Step jruby -S rails blog Modify database settings jruby -S warble config Modify config/warble.rb jruby -S warble war Deploy into Tomcat
  12. 12. Showcase: Blog (cont.)
  13. 13. Showcase: Monitor • Tomcat Monitor Tools PSI Probe (Lambda Probe) Hyperic HQ • VM Monitor Tools JConsole VisualVM JRockit Mission Control
  14. 14. Showcase: Monitor (cont.)
  15. 15. Showcase: Monitor (cont.)
  16. 16. Showcase: Simple Tuning • VM  -Xmx768m -Xms768m -Xmn256m -XX:MaxPermSize=128m - XX:PermSize=128m • Tomcat Connector  maxThreads="1024" minSpareThreads="32" maxSpareThreads="128" enableLookups="false" • JNDI Connection Pool  For my laptop only, not for production environment  Some parameters are set without measurement
  17. 17. Showcase: Simple Tuning (cont.) Time Taken For Tests (s) 200 185.817 180 160 rails 2.2.2 140 activerecord-jdbc-adapter 0.9.2 120 106.742 100 jdbc-mysql 5.0.4 80 64.735 warbler 0.9.14 60 40 18.561 12.367 6.748 20 0 Mongrel Tomcat Tomcat-Optimized ab -n 100 -c 10 (ms) Total n100 c10 Total n1000 c100 2500 2396 2000 1784 1805 Ubuntu 8.10, kernel 2.6.27-14-generic 1500 JDK 1.6.0 Update 10 1202 JRuby 1.3.1 1000 786 641 Apache Tomcat 6.0.20 500 266 Mongrel 1.1.5 241 142 0 Min Avg Max Mongrel Tomcat Tomcat-Optimized
  18. 18. Reference • http://jruby.org • http://rubyonrails.org/ • http://kenai.com/projects/jruby/ • Practical JRuby on Rails Web 2.0 Projects • JRuby Cookbook
  19. 19. Q&A
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×