Ottimizzazione delle prestazioni di una applicazione web
-
Upload
andrea-de-pirro -
Category
Technology
-
view
444 -
download
4
Transcript of Ottimizzazione delle prestazioni di una applicazione web
![Page 1: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/1.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/2.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/3.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/4.jpg)
Analisi
• JMeter
• Apache Benchmark
• Top
![Page 5: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/5.jpg)
Un grafico JMeter
Verde: Throughput
Viola: Mediana
Rossa: Deviazione
Blu: Media
![Page 6: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/6.jpg)
Tecniche utilizzate
• Acceleratori PHP
• Ottimizzazione MySQL
• Caching HTML
![Page 7: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/7.jpg)
Acceleratori PHP
• Bytecaching
• eAccelerator
• Alternative PHP Cache (APC)
• Problemi riscontrati
![Page 8: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/8.jpg)
eAccelerator
Disattivato Attivato
![Page 9: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/9.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/10.jpg)
Con Index
Senza Index
![Page 11: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/11.jpg)
Caching HTML
• Symfony
• Plugin
• sfOptimizer• sfCombineFilter• sfSuperCache
![Page 12: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/12.jpg)
sfSuperCachePlugin
Disattivato Attivato
![Page 13: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/13.jpg)
Ulteriori ottimizzazioni
• Compressione dei contenuti
• ETag
• CSS
• JavaScript
![Page 14: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/14.jpg)
Conclusioni
DopoPrima
![Page 15: Ottimizzazione delle prestazioni di una applicazione web](https://reader033.fdocument.pub/reader033/viewer/2022060108/554fb44cb4c9057b298b52e2/html5/thumbnails/15.jpg)
Sviluppi futuri
• Monitoraggio automatico
• Load Balancing
• Database