[sql] max_connections_per_hour probleem

Pagina: 1
Acties:

  • Tha_Spike_1981
  • Registratie: April 2003
  • Laatst online: 25-06-2022
Af krijg ik de volgende foutmelding op mijn site als ik veel traffic heb. De site heb ik extern laten hosten.

TEXT: mysql_pconnect() [function.mysql-pconnect]: User 'web0258' has exceeded the 'max_connections_per_hour' resource (current value: 100).

Mijn vraag is of de 100 value een redelijk aantal is. Mijn hosting zegt dat het waarschijnlijk een stuk code is die de SQL connecties op eet en daardoor de site eruit knalt. Maar ik heb alle code nagekeken maar kan helaas niets vinden wat het probleem moet zijn. Ik kan via google niet veel vinden. Wel dat sommige over een veel hoger aantal spreken in plaats van die 100.

Weet iemand wat een redelijk aantal is en wat 'max_connections_per_hour' precies doet?

  • Frash
  • Registratie: Mei 2002
  • Laatst online: 23:40
Wellicht dat persistent connect (pconnect) de oorzaak is; de MySQL verbinding wordt open gehouden terwijl php al klaar is. Uit ervaring weet ik dat hosts een grote hekel hebben aan pconnect. Neemt niet weg dat 100 connecties per uur erg weinig is, ervan uitgaande dat er per pagina een connectie gemaakt wordt.

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

Er is toch wel een connection pool die niet onnodig nieuwe verbindingen opentrapt, maar ze transparant openhoudt? Alle websites op 1 server maken daar dan gebruik van, als het netjes geconfigureerd is.

Ik zou dus maar even gaan klagen bij de hoster...

日本!🎌


  • djiwie
  • Registratie: Februari 2002
  • Laatst online: 21-01 12:08

djiwie

Wie?

mysql_pconnect() maakt per unieke combinatie van username, password en hostname een (of meerdere) connecties. Als je dus veel verschillende users hebt die af en toe verbinding maken zal PHP dus voor al die verschillende combinaties een connectie een tijdje open laten staan. <-- Zie hier de ergenissen van de webhoster. ;)

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 22:41
Als je de 4e parameter van mysql_connect true zet krijg je ook voor elke call een nieuwe connectie, maar da's stiekem best stom om te doen in de meeste gevallen dus dat gebruik je als het goed is niet... :)

@ hierboven: niet zeuren, gewoon geen brakke plex bakken neerzetten enzo! ;)

* FragFrog is er dan weer zo een die zich ergert aan brakke hosting providers die al klagen over een paar duizend views per dag :+

[ Voor 21% gewijzigd door FragFrog op 27-12-2007 19:14 ]

[ Site ] [ twitch ] [ jijbuis ]


  • djiwie
  • Registratie: Februari 2002
  • Laatst online: 21-01 12:08

djiwie

Wie?

FragFrog schreef op donderdag 27 december 2007 @ 19:13:
@ hierboven: niet zeuren, gewoon geen brakke plex bakken neerzetten enzo! ;)
Ik zeur niet, dat doen die providers! :P
Ik kan me wel voorstellen dat mysql_pconnect onnodig veel slots bezet houdt, aan de andere kant: hoeveel geheugen en/of performanceverlies praat je over... :?

  • kmf
  • Registratie: November 2000
  • Niet online

kmf

als de queries goed geschreven zijn en de connecties snel vrijgegeven worden, dan heb je voor een drukke site (>3 miljoen pageviews/dag met ~15 queries per pageview) heb je zelfs met 25 connecties genoeg. Mits elke query < 1 seconde af wordt gerond.

Ligt dus geheel aan de situatie. Op een trage DB-server moet je pconnect niet gebruiken, maar het effect zal toch hetzelfde zijn. pconnect geeft dan een error, maar normale connect moet net zo lang wachten tot ie aan de beurt is, dat er een timeout komt.

Als ik webhoster zal zijn, zal ik geen pconnects mogelijk maken. Want je weet nooit hoe brak sommige mensen queries schrijven of DBstructuren ontwerpen...

[ Voor 3% gewijzigd door kmf op 27-12-2007 23:39 ]

One thing's certain: the iPad seriously increases toilet time.. tibber uitnodigingscode: bqufpqmp

Pagina: 1