Sviluppo di server web e sistema di caching per contenuti dinamici

Slides:



Advertisements
Presentazioni simili
UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

Remote file access sulla grid e metodi di interconnesione di rete M. Donatelli, A.Ghiselli e G.Mirabelli Infn-Grid network 24 maggio 2001.
Guida IIS 6 A cura di Nicola Del Re.
Kerio Workspace Un unico spazio per condividere files e collaborare a grandi idee Marino Vigliotti Sales Engineer Kerio Technologies.
Vannucci Roberto (5BM), De Nardin Axel (5AM)
JUG – Ancona Italy AJAX Giovanni Baleani Developer IBS srl.
LTSP (Linux Terminal Server Project) GNU/Linux ed Workshop di Enrico Teotti powered with Gentoo Linux Linux Day LUG Mantova.
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
1 Università della Tuscia - Facoltà di Scienze Politiche. Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
Alma Mater Studiorum - Università di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Dipartimento di Scienze dell’Informazione Supporto al multihoming.
H T M L Hyper Text Markup Language L' HTML è un linguaggio di markup usato per la creazione di documenti ipertestuali sotto forma di pagine web.
FOX BOARD 8+32 Argomenti trattati: ● Breve descrizione dell'hardware ● Overview del sistema di sviluppo ● Esame delle porte GPIO Hardware.
Gestione delle configurazioni Configuration management (CM) E` un processo che controlla le modifiche fatte a un sistema e gestisce le diverse versioni.
Fondamenti di Informatica A - Massimo Bertozzi LE RAPPRESENTAZIONI CONCATENATE.
Tor Vergata Tor Vergata Liana Placitelli Implementazione Hardware e Software di un sistema di controllo PWM comandabile da remoto Relatore Prof. Bertazzoni.
Candidato Dario Scarpa Relatore Prof. Vittorio Scarano.
Candidato Dario Scarpa
Visual Analytics Dashboard
Corso per Webmaster base
Progettazione di una base di dati relazionale
Vulnerability Assessment
Linux Day 2016.
Web server.
Comparazione File System Domenico Chiefali a.k.a. JDaemon
Crea il tuo sistema aziendale sul web a partire dei fogli Excel che usi. ShareXLS
dCache Test effettuati al CNAF
Servizi per Science Gateways e comunità virtuali attraverso l'esperienza del porting del sito di GILDA su Liferay M. Pappalardo.
Valutazione delle prestazioni
Rete e comunicazione Appunti.
Gestione delle fasi del tirocinio attraverso un’ App Android e interfaccia Web e relativa gestione documentale della tesi Università degli Studi di Napoli.
Pronto.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laure in Informatica Relatore: Riccardo.
Tutor: prof. Franco Gualtieri 2° parte
NegoziCS packing list fidelitycard ordini merceinsaldo www ® software
Commissione Calcolo e Reti
EasyGraph Dynamic web-based dashboard
Generazione di codice dinamico per la realizzazione di catene di servizi componibili Matteo Fazi – matr
Applicazione web basata su web service e web socket
Breve report su corso RedHat Enterprise Virtualization (RH318)
MKTG 2016.
Analysis framework of distributed thread and malware data-sources
L’analisi del comportamento delle imprese (seconda parte)
Sicurezza dati: Backup
Portal Architecture Data Management
INDICO Parte 1 01/07/2018 Francesco Serafini.
Condivisione Documentazione Tecnica
Giordano Scuderi Unico SRL - Messina,
APACHE2-PHP su Raspberry
LA GESTIONE DEI PACCHETTI
Organizzazione fisica
I FILES AD ACCESSO SEQUENZIALE
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
UML Creato da: Enrico Tarantino Alessandro Vilucchi Roberta Barcella.
Creare un server casalingo - 2
WebServer 12 luglio
analizzatore di protocollo
Sviluppo di un'applicazione web per l'utilizzo del framework SparkER
Internet.
Livello Applicazione Web e HTTP.
Progetto di Tecnologie Web 2014/2015 THERMOWEB
Emergency Department Wait Time Prediction
Scheduling in Linux (Kernel 2.4 e 2.6)
Sommario comandi su files e directories
OpenLayers Client di mappe “non solo” WMS
Laboratorio II, modulo “Skype”.
Il Livello di Trasporto
WebSocket Symphony Orchestra
UNIVERSITÀ DI MODENA E REGGIO EMILIA
File system Casi di studio (3).
CLOUD.
Transcript della presentazione:

Sviluppo di server web e sistema di caching per contenuti dinamici Relatore: prof. Giuseppe Pappalardo Salvatore Tomaselli

Server web

HTTP/1.1 Implementazione del lato server in C Upload di file Virtual host Connessioni persistenti e pipeline Caching Contenuti parziali

DAV Estensione di HTTP/1.1 Creazione directory Spostamento e copia Eliminazione Controllo di accesso basato sul meccanismo di HTTP

Utilizzi Condivisione rapida di file e directory. Ambiente di test. Dispositivi embedded. inetd Server di produzione.

Utilizzi reali Stimate almeno 120 installazioni (dati da Ubuntu e Debian). Usato nella distribuzione “Freetz” su device embedded. Server di test per lo sviluppo di apt-get in Debian.

Posix API ben definita e standardizzata. Compatibilità sorgente su tutti i sistemi POSIX. GNU Autotools.

Struttura Listen Thread Parser Buffer Cache CGI Shaper Cache Lista di connessioni Thread Parser Buffer Cache CGI Listen Shaper Cache

Pagine interattive Protocollo CGI Pagina interattiva generata da un processo figlio. Pipeline e variabili di ambiente. Timeout che termina gli eseguibili che impiegano troppo tempo. Keep-alive

Contenuti generati dal server

Caching Generare un contenuto una volta sola, e conservare il risultato. Si segue questo approccio per inviare le liste dei files con i relativi dettagli ai client, con protocollo HTTP e DAV. La cache deve rispecchiare l'ultimo contenuto e non essere vecchia.

prefisso-inode-deviceId-mTime File di cache prefisso-inode-deviceId-mTime La coppia inode e deviceId identifica univocamente una directory. Mtime identifica la data di modifica della directory, rendendo automaticamente invalida la cache in caso di aggiornamenti. Prefisso specifica il tipo di richiesta. Lock in scrittura durante la creazione.

Prefisso dei file di cache Per ogni directory è possibile effettuare richieste di diverso tipo che generano contenuti diversi. Date MIME Size 1 → 5

Invalidare la cache Si invalida automaticamente quando viene creato o rimosso un file. Si utilizza la libreria del kernel Linux inotify per invalidare la cache nei rimanenti casi. Si aggiorna il modification time della directory, in tempo O(1) Si individua e rimuove il file dalla cache, in tempo O(n).

Limiti Richiesta dal client Generazione cache 1 secondo Modifica directory 1 secondo Aggiornamento mtime Richiesta dal client

Comparazione di velocità richieste concorrenti richieste/sec

Conclusioni e sviluppi futuri Circa 6 volte più veloce per i contenuti generati dal server. Utilizzato e testato in applicazioni reali. Sviluppo modulo per Apache2 che implementi il caching.

Il relatore prof. Giuseppe Pappalardo Ringraziamenti Il relatore prof. Giuseppe Pappalardo La mia famiglia Gli n di quel tavolo là