
Il corso analizza differenti metodologie per il miglioramento delle performance di un’applicazione REST API sviluppata con tecnologia .NET. Nelle prime lezioni del corso è descritto il procedimento tramite cui verrà effettuata l'analisi delle performance. Il procedimento viene poi applicato alle metodologie trattate al fine di identificare la miglior soluzione per sviluppare una REST API performante.
Nel video è descritta la REST API in .NET 6 che fungerà da punto di partenza e parametro di confronto per l'implementazione di tutti i successivi miglioramenti di performance.
Nel video è descritto come popolare il database con i dati tramite l'utilizzo di uno script SQL, inoltre sono definite le chiamate che verranno effettuate alla REST API per testarne le performance.
Nel video vedremo come scaricare e configurare Apache JMeter sul proprio PC al fine di preparare il test di performance.
Nel video è descritto il test da eseguire sull'applicativo tramite Apache JMeter e viene eseguito un primo RUN di esempio sull'applicazione di riferimento.
Nel video è mostrato come riaggregare i dati ottenuti dal primo RUN di esempio tramite uno script SQL al fine di ottenere dei valori mediati più stabili.
Nel video è mostrato come rappresentare i dati ottenuti dal primo RUN e riaggregati nel precedente video tramite Power BI Desktop.
Nel video è mostrato come utilizzare l'AsNoTracking all'interno dell'applicazione e vengono analizzati i miglioramenti di performance che ne derivano.
Nel video è mostrato come utilizzare metodi asincroni con Async/Await all'interno dell'applicazione e vengono analizzati i miglioramenti di performance che ne derivano.
Nel video è mostrato come utilizzare la compressione della risposta all'interno dell'applicazione e vengono analizzati i miglioramenti di performance che ne derivano.
Nel video è mostrato come utilizzare creare un indice Non-Clustered all'interno del database utilizzato dall'applicazione e vengono analizzati i miglioramenti di performance che ne derivano.
Nel video sono analizzati i miglioramenti di performance che derivano dalla combinazione delle quattro casistiche viste in precedenza. L' analisi fa emergere come la soluzione ottimale possa non essere la stessa a seconda della chiamata API coinvolta.
Le performance di una REST API sono un aspetto a cui spesso non si presta la dovuta attenzione durante lo sviluppo e ciò può portare a far emergere delle problematiche difficili da gestire quando ormai il progetto è avviato e l'applicazione ha raggiunto una certa complessità.
Il corso è ideato con due obbiettivi principali:
fornire una procedura per testare le performance di una REST API, la quale possa essere riutilizzata e personalizzata a seconda delle proprie esigenze;
fornire l'analisi dell'impatto sulle performance di un primo gruppo di miglioramenti che è possibile applicare ad una REST API sviluppata in .NET.
Durante il corso saranno affrontati i seguenti punti:
la definizione di un punto di riferimento su cui basare tutte le successive analisi da poter utilizzare come unità di misura dei successivi miglioramenti;
l'utilizzo e la configurazione di Apache JMeter al fine di impostare un test utile a valutare le performance di una REST API;
l'utilizzo di script SQL per riorganizzare e riaggregare i dati per renderli più facilmente utilizzabili per la comparazione delle performance.
l'applicazione individuale dei miglioramenti sulla REST API e l'analisi dell'incremento delle performance ottenuto. Nello specifico saranno applicati: la compressione delle risposte, l’utilizzo di indici, l’utilizzo di metodi asincroni, la disattivazione del tracking nelle query verso il database;
l'applicazione combinata dei miglioramenti sulla REST API e l'analisi dell'incremento delle performance ottenuto.