Well, I've come closer to tracking down the problem. Running only
ActiveRecord, the problem does not occur. So I created a fresh Rails 2.3
project and started adding the plugins I use. Turns out rails-footnotes was
causing the slowdown.
But it's a specific call in queries_note.rb,
explain = execute_without_analyzer("EXPLAIN #{query}", name)
Comment this line out, and all works fine. However, I can't find where this
call, execute_without_analyzer, is actually defined. It seems like it
might be behaving differently between Rails 2.1 and 2.3
Brett
On Tue, Dec 1, 2009 at 2:25 AM, Frederick Cheung <[email protected]
> wrote:
>
>
> On Nov 30, 7:02 pm, BW <[email protected]> wrote:
>
> > The reason I think this is a Rails bug is the fact that if I run the code
> on
> > Rails 2.1, there isn't a problem. Using Rails 2.3, with the same mysql
> gem
> > and mysql server, resources are not getting freed, causing constant
> garbage
> > collection.
> >
> Sounds promising. (although looking at the source, store_result_count
> should be decremented when the ruby garbage collector eventually
> collects the object). Can you reduce your example to a little script
> that just uses active_record (ie outside of a rails app)
>
> Fred
> > Has anyone seen this, or know how to fix it?
> >
> > Thanks, Brett
> >
> >
> >
> > On Mon, Nov 30, 2009 at 10:10 PM, BW <[email protected]> wrote:
> > > Fred,
> >
> > > Thanks for the suggestion. I tried it out, but it didn't help. I
> pushed
> > > pool up to 150 and wait_timeout to 1, no real change.
> >
> > > I'm really stuck with this. And the performance is so bad that it's
> > > extremely painful to do any work on the app. Let me know if you have
> any
> > > other ideas.
> >
> > > Brett
> >
> > > On Mon, Nov 30, 2009 at 2:10 PM, Frederick Cheung <
> > > [email protected]> wrote:
> >
> > >> On Nov 30, 3:28 am, BW <[email protected]> wrote:
> > >> > Fred,
> >
> > >> > I'm using the default, the CookieStore.
> >
> > >> That's fine. I ran into an issue because of a database store that
> > >> wasn't activerecord store. The issue was that the session store wasn't
> > >> returning connections to the connection pool, so after a few normal
> > >> page loads all of the connections are marked as busy and you start
> > >> having to wait for timeouts before subsequent actions can get a
> > >> database connection.
> >
> > >> If this is the problem then reducing wait_timeout or increasing the
> > >> pool size (in database.yml - see
> >
> > >>http://rubyclub.com.ua/doc/api-rails-2.2/classes/ActiveRecord/Connect.
> ..
> > >> )
> > >> will delay the onset of the problem (this isn't a fix though - you
> > >> need to find what is leaking connections)
> >
> > >> Fred
> >
> > >> > On Mon, Nov 30, 2009 at 3:53 AM, Frederick Cheung <
> >
> > >> > [email protected]> wrote:
> >
> > >> > > On Nov 29, 6:58 pm, BW <[email protected]> wrote:
> > >> > > > I'm finally upgrading one of my apps to Rails 2.3.5 from 2.1.
> One
> > >> thing
> > >> > > > I've noticed is that I'm getting terrible performance with MySQL
> > >> under
> > >> > > Rails
> > >> > > > 2.3. The 2.3 version runs 10x slower than the 2.1 version.
> Same
> > >> > > database,
> > >> > > > almost the same code, different version of Rails.
> >
> > >> > > what session store are you using ?
> >
> > >> > > Fred
> >
> > >> --
> >
> > >> 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
> [email protected].
> > >> To unsubscribe from this group, send email to
> > >> [email protected]<rubyonrails-talk%[email protected]><rubyonrails-talk%2Bunsubscrib
> [email protected]>
> > >> .
> > >> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected]<rubyonrails-talk%[email protected]>
> .
> 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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.