Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: ModPerl

mysql connection pooling

 

 

ModPerl modperl RSS feed   Index | Next | Previous | View Threaded


practicalperl at gmail

Jun 26, 2013, 11:26 PM

Post #1 of 3 (131 views)
Permalink
mysql connection pooling

Hi,

Currently I have been using Apache::DBI for long connections to Mysql.
But having the problem that, if the apache processes are 10000, they open
10000 connections to mysql, this make the DB crashed.
Is there any software for modperl working like Java's JDBC for connection
pooling?

Thanks.


pharkins at gmail

Jun 27, 2013, 12:05 PM

Post #2 of 3 (105 views)
Permalink
Re: mysql connection pooling [In reply to]

Hi,

There is nothing exactly like the database pool in JDBC. However, there
are solutions for this problem.

The first thing you should do is run a reverse proxy in front of your
mod_perl server. That typically reduces the number of mod_perl processes
by a factor of 10, i.e. 1000 mod_perl processes for 10,000 front-end proxy
processes. See
http://perl.apache.org/docs/1.0/guide/strategy.html#Adding_a_Proxy_Server_in_http_Accelerator_Mode

Note that there are many lightweight proxy servers now that can act as a
front-end for mod_perl, not just Apache httpd.

That's definitely what you should do first, but if you've done that and
it's still not enough, you can also use DBD::Gofer. There is an
explanation here:
http://search.cpan.org/~timb/DBI-1.627/lib/DBD/Gofer.pm#Connection_Pooling_and_Throttling

Tim's slides explaining how this was used in a real-world scenario are here:
http://www.slideshare.net/Tim.Bunce/dbdgofer-200809

- Perrin


On Thu, Jun 27, 2013 at 2:26 AM, xiaolan <practicalperl [at] gmail> wrote:

> Hi,
>
> Currently I have been using Apache::DBI for long connections to Mysql.
> But having the problem that, if the apache processes are 10000, they open
> 10000 connections to mysql, this make the DB crashed.
> Is there any software for modperl working like Java's JDBC for connection
> pooling?
>
> Thanks.
>


practicalperl at gmail

Jun 27, 2013, 7:09 PM

Post #3 of 3 (105 views)
Permalink
Re: mysql connection pooling [In reply to]

Thank you Perrin.
Yes I should use Nginx as a reverse-proxy for modperl appservers, but I
don't yet. I will check it.
Thanks.


On Fri, Jun 28, 2013 at 3:05 AM, Perrin Harkins <pharkins [at] gmail> wrote:

> Hi,
>
> There is nothing exactly like the database pool in JDBC. However, there
> are solutions for this problem.
>
> The first thing you should do is run a reverse proxy in front of your
> mod_perl server. That typically reduces the number of mod_perl processes
> by a factor of 10, i.e. 1000 mod_perl processes for 10,000 front-end proxy
> processes. See
> http://perl.apache.org/docs/1.0/guide/strategy.html#Adding_a_Proxy_Server_in_http_Accelerator_Mode
>
> Note that there are many lightweight proxy servers now that can act as a
> front-end for mod_perl, not just Apache httpd.
>
> That's definitely what you should do first, but if you've done that and
> it's still not enough, you can also use DBD::Gofer. There is an
> explanation here:
> http://search.cpan.org/~timb/DBI-1.627/lib/DBD/Gofer.pm#Connection_Pooling_and_Throttling
>
> Tim's slides explaining how this was used in a real-world scenario are
> here:
> http://www.slideshare.net/Tim.Bunce/dbdgofer-200809
>
> - Perrin
>
>
> On Thu, Jun 27, 2013 at 2:26 AM, xiaolan <practicalperl [at] gmail> wrote:
>
>> Hi,
>>
>> Currently I have been using Apache::DBI for long connections to Mysql.
>> But having the problem that, if the apache processes are 10000, they open
>> 10000 connections to mysql, this make the DB crashed.
>> Is there any software for modperl working like Java's JDBC for connection
>> pooling?
>>
>> Thanks.
>>
>
>

ModPerl modperl RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.