Ottimizzazione delle prestazioni
Rendere un sistema più veloce misurando dove passa davvero il tempo, invece di ottimizzare dove è più facile.
Panoramica
Il lavoro sulle prestazioni fallisce quasi sempre nello stesso punto: si ottimizza ciò che è facile ottimizzare invece di ciò che è lento. Senza misura su dati di utenti reali, lo sforzo va in un percorso di codice che vale l'uno per cento del tempo, mentre una query in secondo piano produce l'attesa vera.
La procedura è sempre la stessa: misurare su utenti reali, trovare i maggiori contributori, correggere prima i più grandi, rimisurare. La maggior parte dei sistemi ha due o tre cause che spiegano la maggior parte dell'attesa.
A chi è rivolto
- Siti nettamente lenti da telefono
- Applicazioni il cui tempo di risposta crolla sotto carico
- Squadre che hanno ottimizzato senza differenza misurabile
Il nostro approccio a Ottimizzazione delle prestazioni
Le attività concrete che comprende un incarico tipo. Il perimetro si concorda prima: nulla di quanto elencato ricompare più avanti come voce a sorpresa.
Misura su utenti reali
Dati dall'uso reale invece che da un test di laboratorio su una macchina veloce in ufficio.
Frontend
Caricamento, peso delle immagini, quantità di script e spostamenti di impaginazione, misurati in condizioni mobili.
Backend e query
Tempi di risposta, query lente e indici mancanti, spesso la causa singola più grande.
Cache
Memorizzazione dove aiuta davvero, con una regola chiara di invalidazione.
Test di carico
Comportamento sotto carico realistico invece dell'ipotesi che scali in modo lineare.
Protezione dalle regressioni
Budget e sorveglianza perché la prossima modifica non annulli il guadagno.
Dal primo contatto al risultato misurato
Sempre la stessa sequenza, così sapete cosa viene dopo.
Misurare
Raccogliere dati di utenti reali e guardare la distribuzione, non solo la media.
Attribuire
Stabilire quali poche cause spiegano la maggior parte dell'attesa.
Correggere
Trattare prima i maggiori contributori e rimisurare dopo ogni modifica.
Consolidare
Impostare budget e sorveglianza perché il guadagno resti.
Risultati, non pile di documenti
Un cumulo di deliverable non è progresso. Questi sono i cambiamenti che il lavoro deve produrre.
Sforzo dove passa il tempo
Misurare prima evita l'ottimizzazione classica nel punto sbagliato.
Conversioni migliori
Il tempo di caricamento agisce direttamente sull'abbandono, soprattutto da telefono e su reti deboli.
Capacità senza acquisti
Una query corretta sostituisce spesso il server aggiuntivo che si stava per comprare.
Guadagni che restano
Senza budget e sorveglianza, il lavoro sulle prestazioni è perso tra sei mesi.
Domande frequenti su Ottimizzazione delle prestazioni
Quello che ci chiedono prima di contattarci. Se la vostra domanda non c'è, fatecela direttamente.
Perché i nostri test di laboratorio sono buoni e gli utenti scontenti?
I test di laboratorio girano su macchine veloci e reti buone. Gli utenti reali hanno telefoni più vecchi, connessioni peggiori e browser carichi. I dati dall'uso reale sono la misura che conta, e sono quasi sempre peggiori.
Cosa migliora più in fretta il tempo di caricamento?
In genere immagini e script di terze parti. Immagini dimensionate correttamente in formati moderni e la rimozione di script che nessuno usa più portano tipicamente più di qualsiasi rifacimento dell'applicazione.
Meglio ottimizzare la media o i casi lenti?
I casi lenti. La media nasconde che una parte dei vostri utenti vive un'esperienza nettamente peggiore, ed è proprio quella parte che abbandona. Guardate il quarto e il decimo più lenti.
Quale miglioramento è realistico?
Su sistemi che non hanno mai avuto lavoro sulle prestazioni, miglioramenti grandi sono comuni, perché poche cause spiegano la maggior parte. Su un sistema già ottimizzato ogni guadagno ulteriore costa di più, e a un certo punto lo sforzo rende di più altrove.
State pensando a Ottimizzazione delle prestazioni?
Diteci che cosa volete cambiare. Se non siamo i partner giusti ve lo diciamo e vi indichiamo di meglio.
Vi interessa il quadro completo?
Ottimizzazione delle prestazioni di solito si affianca ad altre attività in DevOps, infrastruttura ed esercizio tecnico. Sfogliate l'intera area per vedere i collegamenti.
