MySQL Forums
Forum List  »  Connector/ODBC

Connection pooling
Posted by: Manuel Klimek
Date: November 03, 2004 06:43AM

we're using mysql for a multithreaded server application.
The server communicates via odbc under Win32 with
a linux mysql database. Now the app is (for historical
reasons) opening multiple extra odbc connections for every
client (via a new CDatabaseobject ) that connects to the server.
The server then tries to handle all client requests simultanously.

Now we know that by using a fixed amount of open connections
in our application we wouldn't have any problem, but this
is no option at the moment, because it would cause major changes
in a stable product line.

The problem that arises is, that the odbc <-> mysql connections
are not terminated correctly from a tcp/ip point of view, so
the open ports "hang around" for some minutes in the TIMED_WAIT
state. A customer of us mentioned that this is because both
sides of the tcp/ip connections (the odbc driver and the mysql server)
are closed at the same time, so neither side gets the "ack" from
the other side. As we open many connections with a rather high
frequency, we start running out of ports fast. Using MaxUserPort
in the registry helped us, to work around this restriction.

Now the questions are:
1) Is there a fix (planned) for the odbc
driver to close connections in a way that they don't hang around
in the TIMED_WAIT state, but are closed immediately?
2) Can the mysql odbc driver handle connection pooling by
itself on 'broken' apps :-). Like, you set it to a max. of 10
connections and it automagically reuses it's open connections
to the mysql server
3) On errors we often see Popup-Windows, which tell us that
the mysql driver encountered some problems. This blocks one
thread in our application and is very unhandy for a server
application. Can I switch this of?

Any help would be appriciated,
Manuel Klimek

Options: ReplyQuote


Subject
Written By
Posted
Connection pooling
November 03, 2004 06:43AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.