MySQL 4.1 => 5.0.18 Migration issue

MySQL 4.1 => 5.0.18 Migration issue

am 10.05.2006 22:42:14 von Drew Schulz

------=_NextPart_000_0067_01C67437.8C6943D0
Content-Type: text/plain;
charset="US-ASCII"
Content-Transfer-Encoding: 7bit

We have an application that is hit by 5+ million requests a day.



In production we have MySQL 4.1 with DBD::mysql 2.9.003. We're running
apache with mod_perl.



We've set up a library that keeps all the prepared sql statements that can
be executed in the script (about 10). We need the application to run as
fast as it possibly can. Currently it runs within 6 milliseconds.
Performance is very important to us.



The application references the prepared statements (as globals) to execute
the statement. All of the database access is handled in one library
function. The prepared statements are set up as global shared variables to
that library function.



This all works great with 4.1 and DBD::mysql 2.9.003



We are testing MySQL 5.0.18 and DBD::mysql 3.0002, and it doesn't seem to
work in a multi user environment. It works fine when the website is
sequentially hit, but when more than one process is hitting the box, after
about 75-100 concurrent hits, things start breaking down.



The most common message is "Commands out of sync; you can't run this
command now" I also see "Unknown prepared statement handler (XXXX) given to
mysql_stmt_execute at .



I'm fetching all the values from the statement handler using while
(sth->fetch_row_array), so I don't think it's a mysql_store_result issue,
but I don't know.



Once I hit one of these messages, it appears that my $dbh, or statement
hander is corrupted and any other request is rejected across all apache
instances.



Any ideas?



Thanks,

Drew






------=_NextPart_000_0067_01C67437.8C6943D0--