On Wed, Sep 15, 2010 at 5:08 PM, Joshua Partogi
<joshua.part...@gmail.com> wrote:
> Hi Nick,
>
> Thank you for the response. You mentioned that database connection
> pool is created according to demand. What does that mean? Does it mean
> if there are more users it will open more connection thus create more
> connection pool?

Yes. What I meant to say is that the pool starts out empty and only
grows as connections are needed up to the maximum pool size. If you
are running non-thread-safe Rails with a request mutex, chances are
that you won't create more than one connection.

/Nick

>
> Thanks heaps in advance.
>
> Kind regards,
> Joshua
>
> On Sep 6, 4:32 am, Nick Sieger <nicksie...@gmail.com> wrote:
>> On Sun, Sep 5, 2010 at 8:57 AM, Joshua Partogi <joshua.part...@gmail.com> 
>> wrote:
>> > Hi all,
>>
>> > I am interested to learn more about connection pooling in rails. Is there
>> > any good articles about this? I want to know specifically how is connection
>> > pooling in rails works. Does rails open one connection to the database for
>> > every user that is connected or does every user share the same database
>> > connection? Does different app server handles connection pooling 
>> > differently
>> > [i.e passenger, unicorn, mongrel, thin] ? Or does app server doesn't really
>> > care about this?
>>
>> > Thank you very much in advance for your help and insights.
>>
>> Hi Joshua,
>>
>> Here are some facts about connection pooling that should answer your 
>> questions:
>>
>> * Connection pooling is handled inside of ActiveRecord, so all
>> application servers should behave basically the same.
>>
>> * The database connection pool starts out empty and creates
>> connections over time according to demand. The maximum size of this
>> pool defaults to 5 and is configured in database.yml.
>>
>> * Requests and users share connections from this pool. A request
>> checks out a connection the first time it needs to access the database
>> and then checks the connection back in at the end of the request.
>>
>> * If you use Rails.threadsafe! mode, then multiple threads might be
>> accessing multiple connections at the same time, so depending on the
>> request load you might have multiple threads contending for a few
>> connections.
>>
>> /Nick
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonrails-t...@googlegroups.com.
> To unsubscribe from this group, send email to 
> rubyonrails-talk+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to