Test de la solution fichier texte
Jump to navigation
Jump to search
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
Temps nécessaire à la création du fichier de logs : 1 minute 24 secondes.
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
Nombre d'opérations efféctuées par login15 : 3
Le résultat est exact.
- taille du fichier log : 2.4 Mo
- temps de traitement de la requète : 0.4 s