Ciao,
da qualche giorno il server dedicato su cui ho il mio sito mi da il problmema di TOO MANY CONNECTIONS in orari strani, tipo le 8 di mattina oppure la domenica sera, e non è possibile navigare nelle pagine che usano connessioni mysql.
Allora ho contattato l'assistenza e mi hanno detto che ci sono tra le 150 e le 200 connessioni mysql attive e troppe query al secondo quindi mi occorrerebbe una macchina più potente (è un P4 con 2 giga di ram, non windows).
Premetto che:
- non uso conenssioni persistenti o permanenti
- chiudo la connessione mysql a fine pagina, o meglio non appena non serve piu' in quella pagina
- sul server ci sono solo 3 siti che fanno in totale circa 10mila accessi unici al giorno
- in situazioni normali è velocissimo ma in alcuni momenti va molto lento e poi da l'errore TOO MANY....
Mi sono reso conto che per non appesantire le query non faccio mai join ma faccio query a cascata...ad esempio:
Faccio il select di un film all'interno della tabella FILM e poi faccio i select delle varie tabelle GENERE, CATEGORIA, CASA...
MAGARI IL PROBLEMA DELLE TROPPE CONNESSIONI ATTIVE E' DATO PROPRIO DA QUESTO MIO MODO DI FARE LE QUERY? E UN MODO SBAGLIATO?
$result_dvd = mysql_query("SELECT * FROM film WHERE id_dvd=$id_dvd LIMIT 1 ",$conn) or die(mysql_error($conn));
$dvd=mysql_fetch_array($result_dvd);
$titolo=stripslashes($dvd['titolo']);
$codice=$dvd['codice'];
$img=stripslashes($dvd['img']);
$trama=nl2br(stripslashes($dvd['trama']));
$regia=stripslashes($dvd['regia']);
$attori=stripslashes($dvd['attori']);
$id_genere=$dvd['id_genere'];
$anno=stripslashes($dvd['anno']);
$id_casa=$dvd['id_casa'];
$data_uscita=datefr($dvd['data_uscita']);
$id_categoria=$dvd['cat'];
$result_casa=mysql_query("SELECT casa FROM film_case WHERE id_casa=$id_casa LIMIT 1 ",$conn) or die(mysql_error($conn));
$case=mysql_fetch_array($result_casa);
$casa=$case['casa'];
$result_generi=mysql_query("SELECT genere FROM film_generi WHERE id_genere=$id_genere LIMIT 1 ",$conn) or die(mysql_error($conn));
$generi=mysql_fetch_array($result_generi);
$genere=stripslashes($generi['genere']);
$result_cat=mysql_query("SELECT nome_categoria FROM shop_prodotti_categorie WHERE id_categoria='$id_categoria' LIMIT 1 ",$conn) or die(mysql_error($conn));
$categorie=mysql_fetch_array($result_cat);
$nome_categoria=$categorie['nome_categoria'];