Archief - PHP/ MYSQL: too many connections

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Le Preinz

Legacy Member
Ik krijg met momenten die error op www.chiro-wijnegem.be Ik vermoed dat dit komt omdat ik de opbouw van mijn pagina's en querys niet zo efficiënt aanpak. Ik pruts maar wat tot het werkt.

Op elke onderdeel dat ik include en waar connectie met mysql nodig is doe ik nu eerst $db=mysql_connect($host,$username,$password); en ik eindig dat script telkens met mysql_close();

Is het niet beter om enkel op de hoofdpagina dus de index.php helemaal bovenaan die connect te doen en pas helemaal onderaan die index.php die close? Of gaat dat problemen geven?


edit:

Ik vermoed ook dat dit scriptje te traag is. Hoe kan ik dit optimaliseren. Dit dient om de berichten te tonen op de nieuwspagina.
PHP:
$sql="SELECT * FROM nieuws ORDER BY numba DESC;";
$result=mysql_db_query($database,$sql,$db);


while ( $row=mysql_fetch_array($result))			// alle berichten afgaan in "nieuws"
{
	echo "<a name=\"$row[numba]\"></a><h4>$row[titel] </h4>";
	echo "<br><a href=\"#top\">[top]</a><br><br>";

	$bericht = str_replace($in, $uit, nl2br($row["bericht"]));

	echo ($bericht."<BR><BR>");
	echo "<a href=\"index.php?p=artikels/reacties&nr=".$row["numba"]."&id=0\">schrijf/ lees reacties";			
													// aantal reacties per ophalen uit "nieuws_reac"
		$query = mysql_query("SELECT * FROM nieuws_reac WHERE numba_in='$row[numba]'"); 
		$aantal = mysql_num_rows($query);
		echo " (".$aantal.")</a>";

	echo "<br><div align=\"right\">";
	echo "<h4>$row[poster] <br>$row[datum]</h4>";
	echo "</div>";
	echo "<HR SIZE=\"1\">";
}

=(X)=RaVen=

Legacy Member
include vanboven nen "connect.inc.php" ofzo en daarin maakt ge de verbinding.
Dienen close is imho totaal overbodig omdattem da toch al zelf doet :)

Le Preinz

Legacy Member
=(X)=RaVen= zei:
include vanboven nen "connect.inc.php" ofzo en daarin maakt ge de verbinding.
Dienen close is imho totaal overbodig omdattem da toch al zelf doet :)

maar als ik die nergens close, dan zal ik toch nog méér problemen krijgen met "too many connections" Dan moet ik wachten tot server zelf die connectie afsluit.

dJeez

Legacy Member
Meld dat gewoon bij je hosting provider, op 't eerste zicht is er niks verkeerds aan je werkwijze. Wat mij doet vermoeden dat ze ofwel aan overselling doen en/of MySQL niet correct hebben geconfigureerd (per default zijn er maar max. 100 concurrent connecties, maar dat is aanpasbaar), ofwel dat er anderen zijn op dezelfde server die werken met persistent connections. Dat laatste is iets dat je in ieder geval nooit mag doen op shared hosting, en in principe zou een goede hosting provider dat in de gaten moeten houden (of door simpelweg de pconnect functies te disablen).

killgore

Legacy Member
zelfs al zijn er maar 100 concurrent connecties mogelijk, het zou me sterk verbazen moest je hiermeen in de problemen komen voor zo een site.

Ik vrees dat er iemand anders op de server aan het knoeien is met persistente connecties zoals dJeez zegt. Dat kan ofwel jouw mysql connectie enorm vertragen of zelfs jouw probleem opleveren.

Le Preinz

Legacy Member
stukje van mailtje terug van Priorweb:
Gisteren (25 augustus) zijn er enkele hardwarematige problemen
opgetreden op een van de MySQL servers, namelijk morpheus* (mysql-1),
waardoor alle databases een tijd readonly gestaan hebben.
Om de downtime zoveel mogelijk te minimaliseren, hebben wij de MySQL
server overgezet op een tijdelijke (maar minder krachtige) server.

Die minder krachtige server heeft dus problemen met mijn site. Maar ik denk dat zelfs een minder krachtige server nog geen problemen mag hebben met deze nog vrij basic php site dus kan ik ineens wat uitzoeken om die scripts te optimaliseren.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan