Difference between revisions of "Test de la solution fichier texte"

Jump to: navigation, search
 
(Test)
Line 1: Line 1:
 
=Test de la solution fichier texte=
 
=Test de la solution fichier texte=
==Test==
+
=Test=
 
Un script a été utilisé pour créer un fichier de logs de 30000 entrées.
 
Un script a été utilisé pour créer un fichier de logs de 30000 entrées.
  
Line 17: Line 17:
 
  done
 
  done
  
Ensuite, un script PHP est utilisé pour faire une requète sur le fichier logs.txt créé.
+
Ensuite, un script PHP est utilisé pour faire une requète sur le fichier logs.txt créé et pour chronometrer le temps necessaire à l'obtention du résultat.
 
La requète consiste à demander combien d'opérations ont été effectuées par la personne ayant l'identifiant 'login15'.
 
La requète consiste à demander combien d'opérations ont été effectuées par la personne ayant l'identifiant 'login15'.
  

Revision as of 14:23, 7 June 2006

Test de la solution fichier texte

Test

Un script a été utilisé pour créer un fichier de logs de 30000 entrées.

#!/bin/bash
i=0

echo > logs.txt

while [ $i -lt 10000 ]
  do
  echo "`date` login$i droits connexion" >> logs.txt
  echo "`date` login$i droits modification table1.champ1=valeur1 table2.champ2=valeur2" >> logs.txt
  echo "`date` login$i droits deconnexion" >> logs.txt

  i=$(($i+1))
done

Ensuite, un script PHP est utilisé pour faire une requète sur le fichier logs.txt créé et pour chronometrer le temps necessaire à l'obtention du résultat. La requète consiste à demander combien d'opérations ont été effectuées par la personne ayant l'identifiant 'login15'.

<?php
$temps = microtime();
$temps = explode(' ', $temps);
$debut = $temps[1] + $temps[0];

$n = 0;
$file = "logs.txt";

if(!($fp = fopen($file, "r")))
{
  die("could not open text input");
}

while($ligne = fscanf($fp, "%s %d %s %s %s %s %s %s %s %s\n", $jour, $num_jour, $mois, $annee, $heure, $fuseau, $login, $droits, $operqtion, $tables))
{
  if($login == 'login15')
     {
      $n++;
    }
}

echo 'Nombre d\'opérations effectuées par login15 : '.$n.'
'; $temps = microtime(); $temps = explode(' ', $temps); $fin = $temps[1] + $temps[0]; echo 'Page générée en '.round(($fin - $debut), 6).' secondes.'; ?>

Résultat

  • taille du fichier log : 2.4 Mo
  • temps de traitement de la requète : 0.4 s