This project is archived and is in readonly mode.

#3036 ✓stale
theflow

Performance regression caused by connection pool

Reported by theflow | August 11th, 2009 @ 05:34 PM

Hi,

after upgrading an app from Rails 2.1 to 2.3 our test suite now runs ~ 50% slower. Curiously, the average response time on production got a bit faster (~ 10%). So it's either something specific to the test environment or some other improvements made up for the regression on production.

I tracked the performance regression down to the introduction of connection pooling:

http://github.com/rails/rails/commit/6f932b4790371e548c0df9033da96b...

I played around with the pooling code a little bit and did some profiling but couldn't come up with an obvious fix to solve this, so I would appreciate some help tracking this down as I guess this also should affect others?

I've attached two KCacheGrind call trees (one on 2.1, one on 2.2) and if I read them correctly

ConnectionHandler#retrieve_connection_pool
AbstractAdapter#verify!

have some performance impact.

Can anyone with more profiling experience please take a look at this?

thanks,
Florian

Comments and changes to this ticket

  • Rohit Arondekar

    Rohit Arondekar October 6th, 2010 @ 06:47 AM

    • State changed from “new” to “stale”
    • Importance changed from “” to “”

    Marking ticket as stale. If this is still an issue please leave a comment with suggested changes, creating a patch with tests, rebasing an existing patch or just confirming the issue on a latest release or master/branches.

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2 style="font-size: 14px">Tickets have moved to Github</h2>

The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>

Pages