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