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
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
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 145016
Url: https://administrator.de/forum/mysql-server-mit-sehr-sehr-vielen-tcp-time-wait-verbindungen-ist-das-normal-145016.html
Ausgedruckt am: 25.12.2024 um 02:12 Uhr
2 Kommentare
Neuester Kommentar
http://blog.port80software.com/2004/12/07/hurry-up-and-time_wait/ erklärt es eigentlich recht gut...
Evtl. solltet ihr also auf
Evtl. solltet ihr also auf
mysql_pconnect()
wechseln.