« Return to Thread: Rails and JRuby

Re: Rails and JRuby

by Charles Oliver Nutter-4 :: Rate this Message:

Reply to Author | View in Thread

Wow, this is a great writeup. Maybe you (Ole) and you (Janna) could
add a page to the wiki or write up a blog post?

On Fri, Jun 26, 2009 at 7:04 AM, Ole Christian Rynning<oc@...> wrote:

> I second Janna B.
>
> I set this up on Solaris monday. It's running fantasticly and
> performing like nothing I've seen before :) Completely stable memory,
> no wirings or anything bad for 5 days now.. (with several ab/htperf
> stresstests).
>
> In case you wonder how to integrate it with SMF, here's the short, no
> fluff version
>
> smidig@...:~/ $ cat /etc/apache2/2.2/sites/ocr.smidig.no
> <VirtualHost *:80>
>
> ServerName ocr.smidig2009.no
> DocumentRoot /var/apps/smidig2009/oc/smidig2009/public
>
> <Directory /var/apps/smidig2009/oc/smidig2009/public>
>  Options FollowSymLinks
>  AllowOverride All
>  Order allow,deny
>  Allow from all
> </Directory>
>
> <Proxy balancer://smidig2009>
>  BalancerMember http://10.214.206.200:3000
>  BalancerMember http://10.214.206.201:3000
> </Proxy>
>
> ProxyPass / balancer://smidig2009/
> CustomLog /var/log/apache2/smidig2009_oc_apache_access_log combined
>
> </VirtualHost>
>
>
> $ cat config/glassfish.yml
> environment: oc
> http:
>    port: 3000
>    contextroot: /
>
> log:
>    # Logging level. Log level 0 to 7. 0:OFF, 1:SEVERE, 2:WARNING,
>    # 3:INFO (default), 4:FINE, 5:FINER, 6:FINEST, 7:ALL.
>    log-level: 5
>
> jruby-runtime-pool:
>
>    initial: 1
>    min: 1
>    max: 1
>
> daemon:
>    enable: true
>    pid: tmp/pids/glassfish-oc.pid
>    jvm-options: -server -Xmx2500m -Xms64m -XX:PermSize=256m
> -XX:MaxPermSize=256m -XX:NewRatio=2 -XX:+DisableExplicitGC
> -Dhk2.file.directory.changeIntervalTimer=6000
>
>
> $ cat config/glassfish-gem.smf.xml
> <?xml version='1.0'?>
> <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
> <service_bundle type='manifest' name='glassfish-gem'>
>  <service name='network/glassfish-gem' type='service' version='0'>
>    <dependency name='fs' grouping='require_all' restart_on='none'
> type='service'>
>      <service_fmri value='svc:/system/filesystem/local'/>
>    </dependency>
>    <dependency name='net' grouping='require_all' restart_on='none'
> type='service'>
>      <service_fmri value='svc:/network/loopback'/>
>    </dependency>
>    <dependent name='glassfish-gem_multi-user' restart_on='none'
> grouping='optional_all'>
>      <service_fmri value='svc:/milestone/multi-user'/>
>    </dependent>
>    <exec_method name='start' type='method'
> exec='/opt/jruby/bin/glassfish' timeout_seconds='60' />
>    <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60' />
>          <!-- INSTANCES -->
>          <instance name='smidig2009_oc' enabled='false'>
>                  <method_context
> working_directory='/var/apps/smidig2009/oc/smidig2009'>
>                          <method_credential user='smidig_no' group='daemon' />
>                          <method_environment>
>                            <envvar name="PATH"
> value="/opt/jruby/bin:/usr/bin:/bin" />
>                          </method_environment>
>                  </method_context>
>          </instance>
>          <instance name='smidig2009_production' enabled='false'>
>                  <method_context
> working_directory='/var/apps/smidig2009/production/smidig2009'>
>                          <method_credential user='smidig_no' group='daemon' />
>                          <method_environment>
>                            <envvar name="PATH"
> value="/opt/jruby/bin:/usr/bin:/bin" />
>                          </method_environment>
>                  </method_context>
>          </instance>
>  </service>
> </service_bundle>
>
> $ pfexec svccfg validate config/glassfish-gem.smf.xml
> $ pfexec svccfg import config/glassfish-gem.smf.xml
> $ pfexec svcadm enable glassfish-gem:smidig2009_oc
> $ pfexec svcadm restart apache22
>
> oc
>
> On Thu, Jun 25, 2009 at 4:47 PM, Mistress Janna
> Brossard<mistressjanna@...> wrote:
>> James,
>>
>> I simply put the following into my httpd.conf: (I am runninf Apache
>> 1.3.33...I think you must have it set up to be able to do VirtualHosting as
>> well -- which is set up if you have installed, say InstantRailis and their
>> examples):
>>
>> <VirtualHost *>
>>     ServerName gg.dyndns.org
>>     DocumentRoot C:/jruby/rails_apps/gg/public/
>>     ProxyPass / http://localhost:3000/
>>     ProxyPassReverse / http://localhost:3000
>> </VirtualHost>
>>
>> Then fire up the LATEST Glassfish gem on, say, port 3000:
>>
>> C:\jruby\rails_apps\gg>jruby -S glassfish
>>
>> Voila...blazing speed, can handle lots of traffic. Note that I am also
>> cominging into apache from a dyndns name. So, whatever IP I have, I can go
>> straight to execution on the glassfish gem and NO warring up! What could be
>> easier deployment, or a faster execution? -Janna B
>>
>>
>>
>>
>> ________________________________
>> From: james.herdman@...
>> Date: Thu, 25 Jun 2009 09:17:10 -0400
>> To: user@...
>> Subject: Re: [jruby-user] Rails and JRuby
>>
>> How does the proxying to Glassfish work? Doesn't Glassfish have Grizzly for
>> handling incoming requests quickly?
>> James
>>
>> On Fri, Jun 19, 2009 at 3:55 PM, marc <gmane@...> wrote:
>>
>> Mistress Janna Brossard said:
>>
>>> I find the glassfish gem to be the most performant of all -- and I don't
>>> need to war-up my app.
>>>
>>> I proxy to the glassfish gem out of apache.
>>
>> Ditto. I use glassfish3
>>
>> I also have some mongrel cluster stuff, but glassfish is simpler and just
>> works.
>>
>> --
>> Best,
>> Marc
>>
>> "Change requires small steps."
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>    http://xircles.codehaus.org/manage_email
>>
>>
>>
>>
>> ________________________________
>> Windows Live™: Keep your life in sync. Check it out.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


 « Return to Thread: Rails and JRuby