On Wed, 26 Mar 2003, Eric Frazier wrote:
> We have been stuck with a CGI script that is tracking clickthrus, and my
> first impulse to deal with this problem is to just use mod_perl and a
> persistent connection with Apache::DBI, but we don't have that choice right
> now. What is happening is the script, which has to connect to a remote
> database, again, not my choice, periodicly has connection failures. But
> these failures are of a very random, but regular nature. The database
> server, load is small for what it can handle, mysql on that server is
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
How many connects/sec is the server getting? Because if your connect rate
gets high enough, you might be running out of ephemeral ports. Say you end
up getting 4000/30sec give or take.
> DBI->connect(affiliate_program;hostname=xxx.xxx.xxx.xxx
> ;mysql_connect_timeout=10) failed: Can't connect to MySQL server on
> 'xxx.xxx.xxx.xxx' (113) at
> /usr/local/lib/perl5/site_perl/5.6.1/mod_db_connect.pm line 57
> can't connect: Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (113)\
>
> That will repeat for about 30 seconds, then go away. I tried using the
If you run through all of the epemeral ports on the client within 2*MSL,
the server will start refusing connections up until another port becomes
free. Now, IIRC, instead of using 2*MSL, FreeBSD uses a default quite
period of 30sec :)
HTH,
Rudy