15
Ottimizzazione delle prestazioni di un’applicazione web Relatore Laureando Correlatore Prof. P. Merialdo Andrea De Pirro Jacopo Romei

Ottimizzazione delle prestazioni di una applicazione web

Embed Size (px)

Citation preview

Page 1: Ottimizzazione delle prestazioni di una applicazione web

Ottimizzazione delle prestazioni di

un’applicazione web

Relatore Laureando CorrelatoreProf. P. Merialdo Andrea De Pirro Jacopo Romei

Page 2: Ottimizzazione delle prestazioni di una applicazione web

Problema

• Migliorare le prestazioni dell’applicazione web per prenotazioni online Pmh2

• Rendere il sistema scalabile

• Mantenere il sistema stabile

Page 3: Ottimizzazione delle prestazioni di una applicazione web

Struttura dell’applicazione pMH2• Interfaccia di amministrazione - Tablò

• Creazione tariffe

• Consultazione prenotazioni

• Tools di amministrazione

• Interfaccia pubblica - Portal

• Ricerca

• Scelta

• Personalizzazione

• Conferma

Page 4: Ottimizzazione delle prestazioni di una applicazione web

Analisi

• JMeter

• Apache Benchmark

• Top

Page 5: Ottimizzazione delle prestazioni di una applicazione web

Un grafico JMeter

Verde: Throughput

Viola: Mediana

Rossa: Deviazione

Blu: Media

Page 6: Ottimizzazione delle prestazioni di una applicazione web

Tecniche utilizzate

• Acceleratori PHP

• Ottimizzazione MySQL

• Caching HTML

Page 7: Ottimizzazione delle prestazioni di una applicazione web

Acceleratori PHP

• Bytecaching

• eAccelerator

• Alternative PHP Cache (APC)

• Problemi riscontrati

Page 8: Ottimizzazione delle prestazioni di una applicazione web

eAccelerator

Disattivato Attivato

Page 9: Ottimizzazione delle prestazioni di una applicazione web

Ottimizzazione MySQL

• Compito particolarmente complesso

• Scelta del motore relazionale

• Tabelle ed indici

• Query caching

• Tipi di dati

Page 10: Ottimizzazione delle prestazioni di una applicazione web

Con Index

Senza Index

Page 11: Ottimizzazione delle prestazioni di una applicazione web

Caching HTML

• Symfony

• Plugin

• sfOptimizer• sfCombineFilter• sfSuperCache

Page 12: Ottimizzazione delle prestazioni di una applicazione web

sfSuperCachePlugin

Disattivato Attivato

Page 13: Ottimizzazione delle prestazioni di una applicazione web

Ulteriori ottimizzazioni

• Compressione dei contenuti

• ETag

• CSS

• JavaScript

Page 14: Ottimizzazione delle prestazioni di una applicazione web

Conclusioni

DopoPrima

Page 15: Ottimizzazione delle prestazioni di una applicazione web

Sviluppi futuri

• Monitoraggio automatico

• Load Balancing

• Database