|
Laboratorio
di Informatica II: Sistemi Operativi
A.A. 1997/98
Analisi dell'archivio
di log di un sito web
I siti Web mantengono traccia degli accessi
avvenuti alle loro Universal Resouce Location (URL) locali in un archivio
(archivio di log). Ciascuna linea di questo archivio contiene i seguenti
sette campi standard (Common Log Format):
SistemaRemoto Info
Utente Data/Ora Richiesta Stato N.byte
- SistemaRemoto: l'indirizzo
Internet del sistema che ha inviato la richiesta;
- Info: informazioni sull'utente
specificate in RFC931, "-" se non è stato possibile reperire le
informazioni;
- Utente: il nome utente fornito
per documenti protetti da password, "-" se il documento non ha password;
- Data/Ora: data e ora dell'accesso;
- Richiesta: URL locale acceduta
- Stato: codice di risposta fornito
dal server, 200 indica OK;
- N. byte: il numero di byte trasferiti,
"-" altrimenti (ad esempio c'è stato un errore)
Esempio:
ppp-310.flashnet.it - - [08/Oct/1996:17:27:35 +0200] "GET
/LaboratorioII HTTP/1.0" 302 -
mac30.dsi.uniroma1.it - - [08/Oct/1996:10:03:17 +0200] "GET /~bongio/Reti1_html/toc.html
HTTP/1.0" 200 11990
net130-092.mclink.it - - [09/Oct/1996:21:47:16 +0200] "GET /LaboratorioII/PerlTut1/index.html
HTTP/1.0" 200 4900
proxy1.flashnet.it - - [09/Oct/1996:22:09:53 +0200] "GET /LaboratorioII/PerlTut1/index.html
HTTP/1.0" 200 4900
ns2.uni.net - - [10/Oct/1996:10:12:40 +0200] "GET /corso.gif HTTP/1.0"
200 32964
Lo scopo di questo laboratorio è lo studio
e la realizzazione in Perl di un analizzatore interattivo efficiente
per tale archivio di log che produca una serie di statistiche sull'utilizzo
del sito Web in esame. In particolare, si richiede:
- di realizzare due varianti dell'analizzatore,
la prima variante consiste di un programma sequenziale, la seconda variante
prevede il coordinamento tramite IPC di più processi concorrenti;
- di specificare una soluzione flessibile
che permetta, ad esempio, di limitare l'analisi dell'archivio di log almeno
ad un sottinsieme dei siti di provenienza delle richieste, a singole URL richieste
e a determinati periodi di tempo anche divisi in fasce orarie. Tutte le opzioni
devono essere fornite nella linea di comando nel formato opzione = parametri;
- di verificare le buone prestazioni del
prototipo e di confrontare le prestazioni della versione sequenziale e di
quella concorrente misurando la relazione fra i tempi di analisi e la lunghezza
dell'archivio di log;
Ogni gruppo deve consegnare:
- una documentazione su carta con le informazioni
dettagliate di seguito;
- un dischetto contenente il codice dell'analizzatore
in Perl e il manuale d'uso del programma.
Sia i dischetti sia la documentazione su carta devono recare chiara l'indicazione
dei componenti del gruppo: nome, matricola, anno accademico, e recapito.
La documentazione allegata va organizzata
come segue:
- Definizione del progetto
- Descrizione delle soluzioni proposte
(descrivere, in particolare, il formato dell'ingresso e dell'uscita del programma,
le statistiche prodotte, la struttura del programma, le strutture dati e le
variabili globali utilizzate, e il protocollo di cooperazione per la versione
concorrente);
- Descrizione dei test effettuati
(modalita'
dell'esperimento e delle misure);
- Risultati sperimentali (includere tabelle
e grafici);
- Commenti sui risultati sperimentali;
- Appedice 1. Manuale d'uso del programma
(usare il formato, la struttura e la notazione standard dei manuali Unix,
elencare le opzioni che è possibile specificare);
- Appendice2. Codice sorgente in
Perl;
La consegna va effettuata entro 23 gennaio
1998.
I prototipi che risulteranno migliori saranno
installati nella pagina principale del sito web
cesare.dsi.uniroma1.it.
Il file zip del progetto (704
Kb) è scaricabile gratuitamente. Si compone di due script (Webanc e Webans)
e della relazione presentata in formato Word 97 con le specifiche del programma.
Per chi non possedesse un file log di prova, è possibile scaricarlo separatemente
(92 Kb in formato zip).
Questo progetto è stato sviluppato
insieme ai miei colleghi Massimo Delungo e Mauro
Sorrento a cui va il mio ringraziamento.
| Progetto
|
File log |
 |
 |
Indietro
|