Ottimizzazione delle prestazioni di una applicazione web

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

Transcript of Ottimizzazione delle prestazioni di una applicazione web

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