List:General Discussion« Previous MessageNext Message »
From:Michael Widenius Date:June 3 1999 2:44am
Subject:flakey connectivity
View as plain text  
>>>>> "Thomas" == Thomas P Meyer <tpmeyer@stripped> writes:

Thomas> I was using postgres on linux for the backend of web applications, and
Thomas> was
Thomas> pleased except for speed, so I switched to mySQL.   The performance
Thomas> did indeed increase dramatically, BUT now the connectivity just a little
Thomas> flakey.
Thomas> about 3 per 1000 hits on the database DON'T connect, and my application
Thomas> ends up with a server error.

Thomas> I'm using RogueWave as my C++/DB layer, and the error is in the initial
Thomas> database connection, and doesn't get trapped by try() catch():

Thomas> RWDBDatabase DBConnect(const RWCString& Name)
Thomas> {
Thomas>     RWDBManager::setErrorHandler (genericRWDBHandler);
Thomas>         try
Thomas>         {
Thomas>            RWDBDatabase dbase = RWDBManager::database(
Thomas>            "ODBC",                 // RW access library name
Thomas>            "mysql",         // server name
Thomas>            "user", // user name
Thomas>            "secret",                     // password
Thomas>            Name);         // database name
Thomas>            return dbase;
Thomas>         }
Thomas>         catch(RWxmsg x)
Thomas>         {
Thomas>            ProgError("Can't Connect");
Thomas>         }
Thomas> }

Thomas> I never experienced this with postgres, so I'm reluctant to blame
Thomas> RogueWave.

Thomas> 1)  Anyone else experince this?
Thomas> 2)  Any idea how I can fix this?
Thomas> 3)  Any idea how I can dig deeper (mySQL log files, etc...) to get to
Thomas> the root of
Thomas> the problem.

Thomas> I've tried all the obvious, like restarting the database, rebooting,
Thomas> reinstalling, etc....


What error do get you from MySQL when you can't connect ?
Do you have any errors in the MySQL log or error file?
Try increasing the following variables when starting safe_mysqld:

safe_mysqld -O connect_timeout=60 -O max_connections=200

you could also try adding:  ulimit -n 1024 to safe_mysqld

You can also get the above error if you are running Linux, but haven't 
patched the kernel to allow many file descriptors.  For a busy site,
you should increase the file descriptors / process to at 1024 or 2048!

flakey connectivityThomas P. Meyer31 May
  • flakey connectivityMichael Widenius3 Jun