does anyone know whether ActiveRecord has supported connection pool? i can't find articles talking about this, if so how to control it in Rails apps. thanks a lot.
on 16.11.2008 05:12
on 16.11.2008 05:29
On Sat, Nov 15, 2008 at 8:11 PM, Kang Peng <okgoodsun@gmail.com> wrote: > does anyone know whether ActiveRecord has supported connection pool? i > can't find articles talking about this, if so how to control it in > Rails apps. In Rails 2.1 and earlier, Active Record uses a single persistent connection per thread. Beginning in Rails 2.2, Active Record uses a connection pool. Install the 2.2rc2 release and give it a spin. Best, jeremy
on 16.11.2008 07:19
thanks. so before Rails2.2, each request will open new connection to database according to 'Active Record uses a single persistent connection per thread'? because as i know, each request will start a new thread, is it correct?
on 16.11.2008 12:25
No, just one connection.
on 16.11.2008 14:25
ok, so i think ActiveRecord is thread safe, right? if so, each request which call to database will be processed one by one, not concurrent, this seems RoR's will be not good when faces big amont of requests in a short time. is it ture?
on 17.11.2008 00:37
kang peng wrote: > ok, so i think ActiveRecord is thread safe, right? if so, each request > which > call to database will be processed one by one, not concurrent, this > seems > RoR's will be not good when faces big amont of requests in a short time. > is > it ture? Do you have a scaling problem right now? If not then worry about this when you do.... http://gettingreal.37signals.com/ch04_Scale_Later.php
on 17.11.2008 04:23
thanks for great suggestion :) On Mon, Nov 17, 2008 at 7:37 AM, Robert Walker <
on 17.11.2008 07:14
Right. You need to use a nonblocking database driver to do concurrent requests. You can do this with neverblock's database drivers and Active Record adapter (http://www.espace.com.eg/neverblock/benchmarks) or with jruby. Best, jeremy
on 17.11.2008 08:11
thank you very much.
on 17.11.2008 08:32
Can anybody tell me about this? Does this "connection pool" have something to do with multiple database connection? Or it is only for concurrent access with one database?
on 24.11.2008 22:56
It has to do with multiple connections to one database. It has, however, always been possible to have some models living in one database, and others living in others, if that's what you want. Relationships accross databases don't always work perfectly, if you're trying to do fancy things. (Like, pre-loading a relationship accross databases). For using multiple databases in your app, see: http://wiki.rubyonrails.org/rails/pages/HowtoUseMultipleDatabases Incidentally, even pre Rails 2.2, I have had success using multiple connections to a single db in different threads, using the mysql gem adapter. Now I wonder if the mysql gem adapter is actually non-blocking though, or if my different threads were still blocking on db access. Jonathan boblu wrote: > Can anybody tell me about this? > Does this "connection pool" have something to do with multiple > database connection? > Or it is only for concurrent access with one database?