Ik weet niet echt of ik mn vraag in het juiste forum stel. Ik kon het niet echt bedenken waar ie juist zo passen, maar omdat MySQL aan PHP gerealteerd is en PHP hier wel thuis hoort stel ik hier de vraag maar...
Ik heb thuis het probleem dat elke geopende verbinding vanuit PHP naar MySQL niet automatisch gesloten wordt, waarvan ik altijd dacht dat het wel zo was.
Nu is dus het probleem dat al mn sockets (lees evt. als: poorten) op mn servertje daar door "bezet" worden met als gevolg dat na ongeveer 50.000 connecties er geen enkele verbiding met wat dan ook kan worden gemakt op die computer en dat heeft weer als gevolg dat ik de computer eerst weer opnieuw kan gaan opstarten.
Even ter verduidelijking mijn nedtstat statistieken:
Nu dacht ik dat PHP de boosdoener was en dus heb ik ff in php.ini gekeken en deze regel:
Verder is dit de hele MySQL-sectie in php.ini:
Weet iemand hoe ik de openstaand blijvende conencties het beste kan voorkomen zonder de connecties vanuit PHP naar MySQL al te veel belemmer (maw: dat ik de coonecties gewoon op de zelfde manier kan blijven maken in PHP)?
Of moet ik nu per se in mn PHP-scripts mysql_close() gaan gebruiken en mn verbindingen dus handmatig gaan sluiten?
Ik heb thuis het probleem dat elke geopende verbinding vanuit PHP naar MySQL niet automatisch gesloten wordt, waarvan ik altijd dacht dat het wel zo was.
Nu is dus het probleem dat al mn sockets (lees evt. als: poorten) op mn servertje daar door "bezet" worden met als gevolg dat na ongeveer 50.000 connecties er geen enkele verbiding met wat dan ook kan worden gemakt op die computer en dat heeft weer als gevolg dat ik de computer eerst weer opnieuw kan gaan opstarten.
Even ter verduidelijking mijn nedtstat statistieken:
code:
Ik denk dat u nu dus wel snapt wat ik bedoel 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| C:Documents and SettingsAdministrator>netstat Actieve verbindingen Proto Lokaal adres Extern adres Status (...) TCP nwserver:1031 nwserver:3306 TIME_WAIT TCP nwserver:1032 nwserver:3306 TIME_WAIT TCP nwserver:1033 nwserver:3306 TIME_WAIT TCP nwserver:1034 nwserver:3306 TIME_WAIT TCP nwserver:1035 nwserver:3306 TIME_WAIT TCP nwserver:1037 nwserver:3306 TIME_WAIT TCP nwserver:1038 nwserver:3306 TIME_WAIT TCP nwserver:1040 nwserver:3306 TIME_WAIT TCP nwserver:1041 nwserver:3306 TIME_WAIT TCP nwserver:1042 nwserver:3306 TIME_WAIT TCP nwserver:1043 nwserver:3306 TIME_WAIT TCP nwserver:1045 nwserver:3306 TIME_WAIT TCP nwserver:1046 nwserver:3306 TIME_WAIT TCP nwserver:1047 nwserver:3306 TIME_WAIT TCP nwserver:1053 nwserver:3306 TIME_WAIT TCP nwserver:1054 nwserver:3306 TIME_WAIT TCP nwserver:1061 nwserver:3306 TIME_WAIT TCP nwserver:1062 nwserver:3306 TIME_WAIT TCP nwserver:1081 nwserver:3306 TIME_WAIT TCP nwserver:1082 nwserver:3306 TIME_WAIT TCP nwserver:1083 nwserver:3306 TIME_WAIT TCP nwserver:1084 nwserver:3306 TIME_WAIT TCP nwserver:1085 nwserver:3306 TIME_WAIT TCP nwserver:1086 nwserver:3306 TIME_WAIT TCP nwserver:3306 nwserver:1030 TIME_WAIT TCP nwserver:3306 nwserver:1055 TIME_WAIT TCP nwserver:3306 nwserver:1063 TIME_WAIT TCP nwserver:3306 nwserver:1069 TIME_WAIT TCP nwserver:3306 nwserver:1075 TIME_WAIT |
Nu dacht ik dat PHP de boosdoener was en dus heb ik ff in php.ini gekeken en deze regel:
code:
Verander in:1
| mysql.allow_persistent = On |
code:
Maar ook dat hielp niet.1
| mysql.allow_persistent = Off |
Verder is dit de hele MySQL-sectie in php.ini:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| [MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = Off
; Maximum number of persistent links. -1 means no limit.
mysql.max_persistent = -1
; Maximum number of links (persistent + non-persistent). -1 means no limit.
mysql.max_links = -1
; Default port number for mysql_connect(). If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
; at MYSQL_PORT.
mysql.default_port =
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =
; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host =
; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user =
; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password! And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password =
; Maximum time (in secondes) for connect timeout. -1 means no limimt
mysql.connect_timeout = -1
; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Erros will be displayed.
mysql.trace_mode = Off |
Weet iemand hoe ik de openstaand blijvende conencties het beste kan voorkomen zonder de connecties vanuit PHP naar MySQL al te veel belemmer (maw: dat ik de coonecties gewoon op de zelfde manier kan blijven maken in PHP)?
Of moet ik nu per se in mn PHP-scripts mysql_close() gaan gebruiken en mn verbindingen dus handmatig gaan sluiten?