mok
Goto Top

MYSQL Server mit sehr sehr vielen TCP TIME WAIT Verbindungen, ist das normal?

Hi, ich hoffe ihr könnt mir weiterhelfen...
Vorweg kurze infos zum Server:

OS: W2003 Server
DBMS: MYSQL 5.1
Webserver: IIS

Es sind vier PHP Anwendungen am laufen mit vielen Datenbank zugriffen ( ca. 600 SELECTS in 10 sek.).

So jetzt habe ich mal nachgeschaut wieviele offene oder "tote" verbindungen so auf dem Server sind. Dafür habe ich den Befehl "netstat -ano" eingegeben und... bumm.. genau da habe ich mich erschrocken.

Tausende von TIME_WAIT's, ist das den normal? Also es sind von jeder Client IP die auf den Server zugreifen so gut wie alle Ports vorhanden (von 1024 -> 4xxx).

Mir ist schon irgendwie klar das jeder SELECT einen Zugriff über ein Port benötigt, jedoch wird doch in den PHP Anwendungen der Connect mit "mysql_close()" wieder geschlossen, oder liege ich da nicht richtig?

Meines erachtens dürften dann doch nicht so viele TIME_WAIT Verbindungen vorhanden sein?!

Jetzt ist die Frage, deutet es daraufhin das bei den PHP Anwendungen die connects nicht richtig geschlossen werden?

So, und jetzt warum ich überhaupt frage, mit meiner neuen Anwendung habe ich ab und zu zwischen durch Verbindungsprobleme, ich bekomme diese Meldung vom Server:

Can’t connect to MySQL server on ‘localhost’ (10048)

Es gibt dafür einige gründe, ich denke aber in meinem fall ist es das der W2003 Server im Standard nur Verbindungen bis Port 5000 zulässt und dann erstmal dichtmacht für einige sekunden. Jetzt könnte man sagen ich habe mir die Antwort schon selbst gegeben face-smile

Ja... aber um die Begrenzung hochzusetzten muss ich einen Wert in der Registry ändern was einen Neustart fordert. Jedoch will ich genau diesen Neustart vermeiden.

So, jetzt noch ein kleiner wichtiger Hinweis, die andern vier Anwendungen die zurzeit laufen haben dieses Problem nicht!
Was macht meine Anwendung falsch was die anderen richtig machen?

Ich hoffe ihr konntet alles verstehen...

Danke schon mal im vorraus!

Gruß moK

Content-Key: 145016

Url: https://administrator.de/contentid/145016

Printed on: April 23, 2024 at 07:04 o'clock

Member: dog
dog Jun 17, 2010 at 11:32:58 (UTC)
Goto Top
http://blog.port80software.com/2004/12/07/hurry-up-and-time_wait/ erklärt es eigentlich recht gut...

Evtl. solltet ihr also auf mysql_pconnect() wechseln.
Member: moK
moK Jun 17, 2010 at 20:47:17 (UTC)
Goto Top
es ist nur die mysqli extension aktiviert.. und für mysqli gibt es kein mysqli_pconnect() oder wäre die alternative mysqli_real_connect() ???

aber danke erstmal für den beitrag.