Visualizzazione risultati 1 fino 2 di 2

Discussione: Conteggio delle query

  1. #1
    Guest

    Predefinito Conteggio delle query

    Prima di rispondermi con "se ne è già discusso, usa la funzione 'Cerca'", vi spiego.

    Mi sono fatto uno script php (ovvio) per il conteggio delle query.

    Funziona così:

    ogni qual volta genero una query
    Codice:
    $sql = "SELECT * FROM Tabella";
    richiamo una funzione
    Codice:
    log_query();
    quindi, ho:
    Codice:
    $sql = "SELECT * FROM Tabella";
    log_query();
    e questo lo faccio per tutte le query.

    la funzione log_query() è questa:
    Codice:
    function log_query()
    {
    
    //richiamo il txt che contiene i dati
    $COUNT_FILE2 = "./d/conta_query.txt";
    
    //passo ad una variabile 'anno;mese;giorno;ora" attuali
    $url2 =  date("YmdH");
    
    //faccio un banale controllo per accertarmi che il txt esista
    if (! file_exists($COUNT_FILE2))
    	error("File non trovato");
    
    //passo ad una variabile il contenuto del txt
    $file_arry2 = file($COUNT_FILE2);
    
    //divido le informazioni sul file dal contenuto
    while (list($key2, $val2) = each($file_arry2)) {
    	if ($val2 != "") {
                    //distinguo una variabile per l'orario da quella che conteggia il 
                    //numero di query
    		list($file_url2, $nb2) = preg_split("/\t|\n/", $val2);
    		if ($file_url2 == $url2) { 
                            //aggiorno il contatore rispetto all'orario corrente
    			$nb2++; $file_arry2[$key2] = "$file_url2\t$nb2\n"; $find2 = 1;
    		}
    	}
    }
    
    
    $file2 = join ("", $file_arry2);
    if (! $find2) $file2 .= "$url2\t1\n";
    
    //apro il txt
    $fp2 = fopen("$COUNT_FILE2", "w"); 
    flock($fp2, 1);
    fputs($fp2, $file2);                                                     
    flock($fp2, 3);
    //chiudo la connessione con il txt
    fclose($fp2);
    }
    ?>
    Detto in parole povere, per ogni ora e per ogni giorno mi segno il numero di query prodotte.

    Ora mi sorge un dubbio, avendo una classe 3, quindi 10'000 query all'ora, come è possibile che leggendo il txt ritrovo valori superiori a 10'000?
    http://sdcopensources.altervista.org/d/conta_query.txt

    forse è lo script?

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    La butto lì: probabilmente hai tracciato il log prima di eseguire la query (ti ricordo che l'esecuzione avviene solo con mysql_query, l'assegnamento alla variabile $sql ha solo il compito di "costruirla"), senza curarti del fatto che la query stessa fosse stata eseguita o meno.

    Quel numero di circa 13.000 che c'è sulla tua pagina potrebbe quindi significare che in 3.000 occasioni è stata eseguita la tua pagina, con il risultato che ha avuto il messaggio di errore "query esaurite".

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •