ciao a tutti,
Ho un sito con un gioco online scritto da me, è su server dedicato, la società che mi da il servizio è molto seria ma prima di rivolgermi a loro vorrei capire se è un problema dei miei script oppure no.
Ogni giorno ad una determinata ora faccio eseguire con crontab degli script in php 5 che eseguono delle operazione abbastanza pesanti sul dbase MySQL ver 5.0.45, sempre che pesante si possa considerare uno script che nel pc di casa ci mette tre minuti ad essere eseguito
Da oggi ho dato agli utenti del sito la possibilità di seguire "in diretta" gli accadimenti durante l'esecuzione di questi script, mentre invece prima il sito era chiuso durante queste operazioni.
Gli utenti possono navigare e caricare una sola pagina, che ovviamente fa semplicemente un paio di query giusto per vedere cosa sta accadendo nel gioco. Questa pagina si ricarica in automatico ogni 10 sec, vi scrivo il pezzo di codice significativo:


Codice PHP:
header("Refresh: 10;");
if (
$_SESSION['ctrl_esecuzione']==0) { header ("location:ilrestodelsito.php"); }
# poi qua ci sono le due query che eseguo 
Il risultato ? Si pianta tutto , ma non nel senso che si inchioda, ma che rallenta in maniera allucinante, cioè invece di eseguire e terminare lo scirpt dell'elaborazione in 3 minuti ce ne mette 10-15. Ora le considerazioni; non può essere un problema di server perchè ad esempio il forum (phpbb) è una scheggia durante tutto il periodo, se fosse stato un problema di banda o cose del genere sarebbe stato lento anche lui. La pagina con il reload fa due query di sole select il cui risultato è un array di un solo elemento, la tabella che interroga è una tabella di poco più di 1000 elementi (dimensioni 64Kb buccia e tutto, dato da phpmyadmin). Anche phpmyadmin va che una meraviglia mentre tutto il resto si pianta. Nei log non c'è nessun errore tranne qualche NOTICE per qualche variabile dimenticata. Gli uenti collegati simultaneamente sono stati al max 30. Lo script dell'eleborazione è mesi che non lo modifico è sempre lo stesso script che in locale o eseguito da solo sul server ci mette 3 minuti a terminare.

Non so proprio cosa controllare e che fare, potreste darmi qualche consiglio ?

Grazie mille