Scegli la tua lingua
Corso di Software Performance Engineering
Più di 2 milioni di studenti in tutto il mondo

Corso di Software Performance Engineering

Padroneggi l'intera disciplina del performance engineering — dalla misurazione e profilazione alla progettazione della scalabilità e al rilevamento continuo delle regressioni. Questo corso fornisce agli ingegneri del software i framework analitici, le tecniche pratiche e i pattern architetturali necessari per costruire sistemi veloci, efficienti e resilienti sotto carichi di lavoro reali.

Dedika per aziende

Cosa imparerai:

  • Applichi il ciclo misurare-analizzare-migliorare per diagnosticare ed eliminare con sicurezza i colli di bottiglia delle prestazioni.

  • Progetti load test rigorosi che modellano i carichi di lavoro di produzione ed espongono i limiti del sistema prima che diventino critici.

  • Strumenti i sistemi distribuiti utilizzando metriche, log strutturati e tracce distribuite attraverso tutti i confini dei servizi.

  • Ottimizzi le prestazioni a livello applicazione tramite strategie di caching, pattern asincroni e tuning delle query del database.

  • Costruisca architetture scalabili orizzontalmente utilizzando modelli di capacità, sharding e pattern di degradazione graduale.

  • Integri gate di prestazioni automatizzati nelle pipeline CI/CD per impedire che le regressioni raggiungano la produzione.

Come studi in modo pratico Corso di Software Performance Engineering

Come metti in pratica Corso di Software Performance Engineering

Per te che sei un'azienda e vuoi formare il tuo team

Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.

Clicca qui

Contenuto del corso

8 Capitoli • 40 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

Fondamenti di Ingegneria delle Prestazioni

  • Lezione 1 • Flusso di Lavoro dell'Ingegneria delle Prestazioni

    Presenta il ciclo iterativo misurare-analizzare-migliorare come flusso di lavoro principale. Orienta gli studenti sulla struttura dell'intero corso.

  • Lezione 2 • Obiettivi di Prestazione e SLO

    Insegna a tradurre i requisiti aziendali in obiettivi di prestazione misurabili. Stabilisce il framework di definizione degli obiettivi applicato in ogni capitolo successivo.

  • Lezione 3 • Modello delle Risorse di Sistema

    Mappa CPU, memoria, disco e rete sui vincoli di prestazione. Fornisce un modello condiviso utilizzato in tutti i capitoli successivi.

  • Lezione 4 • Metriche e Indicatori Chiave di Prestazione

    Introduce latenza, throughput, tasso di errore e saturazione come segnali primari. Collega le metriche all'esperienza utente e ai risultati aziendali.

  • Lezione 5 • Cosa Significa Ingegneria delle Prestazioni

    Definisce l'ingegneria delle prestazioni come una disciplina distinta dall'ottimizzazione ad hoc. Fondamenta il capitolo contrapponendo l'intervento reattivo alla progettazione proattiva.

Capitolo 2Vedi dettagli

Fondamenti di Misurazione e Osservabilità

  • Lezione 1 • Profilazione di CPU e Memoria

    Introduce i profiler a campionamento e tracing per l'analisi della CPU e dell'heap. Sviluppa la capacità di identificare percorsi critici e perdite di memoria dai profili.

  • Lezione 2 • Tecniche di Strumentazione

    Tratta approcci di strumentazione manuale, automatica e bytecode. Collega le scelte di strumentazione ai trade-off tra overhead e fedeltà dei dati.

  • Lezione 3 • Progettazione di Dashboard e Alerting

    Guida la creazione di dashboard operative e policy di alert a basso rumore. Garantisce che i dati raccolti guidino le decisioni anziché generare affaticamento da alert.

  • Lezione 4 • Pilastri dell'Osservabilità: Metriche, Log, Tracce

    Distingue i tre tipi di telemetria e i loro ruoli complementari. Ancora il capitolo mostrando quando ciascun pilastro è più prezioso.

  • Lezione 5 • Metodologia di Benchmarking

    Insegna una progettazione rigorosa di micro e macro benchmark per evitare le insidie comuni. Fornisce la disciplina di misurazione necessaria per confronti validi.

Capitolo 3Vedi dettagli

Test di Carico e Modellazione del Carico di Lavoro

  • Lezione 1 • Tipi e Obiettivi dei Test di Carico

    Distingue i test di baseline, stress, soak, spike e breakpoint. Allinea ciascun tipo di test a domande di prestazione specifiche.

  • Lezione 2 • Caratterizzazione del Carico di Lavoro

    Analizza i modelli di traffico di produzione per costruire modelli di carico di lavoro rappresentativi. Collega i dati di utilizzo reale a scenari di test sintetici.

  • Lezione 3 • Progettazione del Generatore di Carico

    Tratta lo scripting di utenti virtuali realistici e l'evitare l'omissione coordinata. Garantisce che il generatore di carico stesso non diventi il collo di bottiglia.

  • Lezione 4 • Analisi dei Risultati dei Test di Carico

    Insegna l'analisi sistematica dei risultati, incluso il confronto dei percentili e l'identificazione dei colli di bottiglia. Collega l'output grezzo del test a risultati attuabili.

  • Lezione 5 • Fedeltà dell'Ambiente di Test

    Affronta la parità degli ambienti, il mascheramento dei dati e lo stubbing delle dipendenze. Riduce il divario tra i risultati dei test e il comportamento in produzione.

Capitolo 4Vedi dettagli

Analisi e Diagnosi dei Colli di Bottiglia

  • Lezione 1 • Diagnosi dei Colli di Bottiglia della CPU

    Identifica le condizioni di CPU-bound attraverso profilazione, profondità della coda di esecuzione e analisi dello scheduling. Collega i sintomi della CPU alle cause radice nel codice applicativo.

  • Lezione 2 • Concorrenza e Contesa dei Lock

    Diagnostica la contesa dei thread, i deadlock e gli effetti di lock convoy. Applica la Legge di Amdahl per quantificare i limiti del parallelismo.

  • Lezione 3 • Diagnosi dei Colli di Bottiglia di Memoria e GC

    Diagnostica la pressione sull'heap, le pause di garbage collection e le perdite di memoria. Collega il comportamento della memoria ai picchi di latenza e al degrado del throughput.

  • Lezione 4 • Diagnosi dei Colli di Bottiglia di I/O e Storage

    Tratta l'attesa I/O del disco, il comportamento della cache del buffer e l'analisi della profondità della coda di storage. Collega i modelli di I/O alle strategie di lettura/scrittura a livello applicativo.

  • Lezione 5 • Teoria delle Code per Ingegneri

    Applica la Legge di Little e i modelli a coda per prevedere e spiegare i colli di bottiglia. Fornisce le fondamenta analitiche per tutte le tecniche di diagnosi.

Capitolo 5Vedi dettagli

Ottimizzazione delle Prestazioni a Livello Applicativo

  • Lezione 1 • Complessità Algoritmica e Strutture Dati

    Rivede l'analisi Big-O e seleziona le strutture dati ottimali per percorsi critici per le prestazioni. Stabilisce il livello di ottimizzazione a più alto impatto.

  • Lezione 2 • Strategie di Caching

    Tratta il caching in-process, distribuito e CDN con politiche di evizione e invalidazione. Riduce direttamente la latenza e il carico sul backend.

  • Lezione 3 • Ottimizzazione della Serializzazione e dei Protocolli

    Confronta formati di serializzazione e scelte di protocollo per throughput e latenza. Riduce l'overhead di trasmissione e il costo CPU della codifica dei dati.

  • Lezione 4 • Ottimizzazione delle Query di Database

    Tratta l'analisi del piano di query, le strategie di indicizzazione e l'eliminazione delle query N+1. Affronta il collo di bottiglia più comune a livello applicativo.

  • Lezione 5 • Modelli Asincroni e Non-Bloccanti

    Introduce I/O asincrono, event loop e modelli reattivi per eliminare le attese bloccanti. Migliora il throughput senza aggiungere hardware.

Capitolo 6Vedi dettagli

Progettazione e Architettura per la Scalabilità

  • Lezione 1 • Resilienza e Degrado Controllato

    Progetta circuit breaker, bulkhead e load shedding per mantenere le prestazioni in caso di guasto. Previene che i guasti a cascata facciano crollare il throughput.

  • Lezione 2 • Pianificazione e Modellazione della Capacità

    Insegna la previsione della domanda, la modellazione delle risorse e il calcolo del margine di capacità. Traduce le proiezioni di crescita in decisioni infrastrutturali.

  • Lezione 3 • Modelli e Leggi di Scalabilità

    Applica la Legge di Amdahl e la Legge di Scalabilità Universale di Gunther per prevedere i limiti del sistema. Fornisce strumenti quantitativi per le decisioni architetturali.

  • Lezione 4 • Modelli di Scalabilità Orizzontale

    Tratta la progettazione di servizi stateless, gli algoritmi di bilanciamento del carico e i trade-off dell'affinità di sessione. Consente una crescita lineare della capacità attraverso la replica.

  • Lezione 5 • Scalabilità del Livello Dati

    Affronta le repliche di lettura, lo sharding e il CQRS per scalare i sistemi data-intensive. Collega le scelte di architettura dei dati alle prestazioni di lettura/scrittura.

Capitolo 7Vedi dettagli

Prestazioni in Sistemi Distribuiti e Cloud

  • Lezione 1 • Prestazioni di Distribuzione dei Contenuti e Edge

    Utilizza il caching CDN, l'edge computing e l'ottimizzazione DNS per ridurre la latenza globale. Estende l'ingegneria delle prestazioni al livello di distribuzione rivolto al cliente.

  • Lezione 2 • Tuning delle Prestazioni delle Risorse Cloud

    Ottimizza i tipi di istanza, i livelli di storage e le configurazioni dei servizi gestiti per il rapporto costo-prestazioni. Affronta i limiti di throttling e quota specifici del cloud.

  • Lezione 3 • Latenza di Rete nei Sistemi Distribuiti

    Quantifica l'impatto dei salti di rete, della serializzazione e del fan-out sulla latenza end-to-end. Motiva le scelte di co-locazione, batch e protocollo.

  • Lezione 4 • Modelli di Prestazione per Microservizi

    Tratta i trade-off della scomposizione dei servizi, l'overhead dell'API gateway e l'ottimizzazione delle chiamate tra servizi. Applica il tracciamento distribuito alla diagnosi cross-service.

  • Lezione 5 • Prestazioni Serverless e Container

    Affronta la latenza di avvio a freddo, il tempo di avvio dei container e il tuning dei limiti delle risorse. Applica l'ingegneria delle prestazioni ad ambienti di esecuzione effimeri.

Capitolo 8Vedi dettagli

Ingegneria delle Prestazioni Continua

  • Lezione 1 • Monitoraggio delle Prestazioni in Produzione

    Stabilisce il monitoraggio degli utenti reali, le sonde sintetiche e il rilevamento di anomalie in produzione. Chiude il ciclo di feedback tra distribuzione e misurazione.

  • Lezione 2 • Risposta agli Incidenti per Problemi di Prestazione

    Applica un approccio strutturato basato su runbook per diagnosticare e risolvere incidenti di prestazione in produzione. Integra le competenze di osservabilità nella pratica di reperibilità.

  • Lezione 3 • Rilevamento delle Regressioni di Prestazione

    Progetta gate automatizzati che intercettano le regressioni prima del deployment in produzione. Collega la misurazione dei capitoli precedenti all'applicazione nella pipeline.

  • Lezione 4 • Budget e Governance delle Prestazioni

    Imposta budget di prestazione a livello di team e processi di revisione per sostenere i miglioramenti nel tempo. Istituzionalizza le prestazioni come una preoccupazione ingegneristica di primaria importanza.

  • Lezione 5 • Test di Prestazione nella CI/CD

    Integra test di carico e benchmark nelle pipeline di build con cicli di feedback rapidi. Bilancia la profondità del test con il tempo di esecuzione della pipeline.

Certificazione

Il tuo certificato valido di completamento

Questo corso è per te:

  • Backend Engineer: desidera andare oltre lo sviluppo di funzionalità per adottare un pensiero a livello di sistema.

  • Site Reliability Engineer: necessita di competenze strutturate di diagnosi per ridurre i tempi di risoluzione degli incidenti.

  • Full-Stack Developer: pronto ad assumersi la responsabilità della reattività delle applicazioni end-to-end.

  • Platform Engineer: responsabile di infrastrutture che devono scalare in modo affidabile sotto carichi imprevedibili.

  • Tech Lead: deve definire standard di prestazione e responsabilizzare i team al loro rispetto.

  • Career Changer: possiede una base informatica e desidera specializzarsi in discipline ingegneristiche ad alta domanda.

Cosa dicono i nostri studenti

Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

Principali percorsi formativi

FAQ

Chi è Dedika?

Il certificato è valido in Italia?

I corsi sono gratuiti?

Qual è il carico di lavoro del corso?

Come sono strutturati i corsi?

Come funzionano i corsi?

Qual è la durata dei corsi?

Qual è il costo o il prezzo dei corsi?

Cos’è un corso EAD o online e come funziona?

Corso PDF