PERF 8: Come si utilizzano i compromessi per migliorare le prestazioni?
Quando si progettano soluzioni, determinare i compromessi ti consente di selezionare un approccio ottimale. Spesso è possibile migliorare le prestazioni accettando compromessi in termini di coerenza, durata e spazio a favore di tempo e latenza.
Risorse
Introducing The Amazon Builders’ Library (DOP328)
Amazon Builders’ Library
Best Practices for Implementing Amazon ElastiCache
Best practice:
-
Definizione delle aree in cui le prestazioni sono più importanti: Comprendi e identifica le aree in cui l'aumento delle prestazioni del carico di lavoro determinerà un impatto positivo sull'efficienza o sull'esperienza del cliente. Ad esempio, un sito web che ha una grande quantità di interazione con i clienti può trarre vantaggio dall'utilizzo dei servizi edge per spostare la distribuzione di contenuti più vicino ai clienti.
-
Studio dei servizi e dei modelli di progettazione: Ricerca e analizza i vari servizi e modelli di progettazione che permettono di migliorare le prestazioni del carico di lavoro. Nell'ambito dell'analisi, identifica gli elementi sui quali potresti accettare compromessi per ottenere prestazioni più elevate. Ad esempio, l'utilizzo di un servizio di cache può contribuire a ridurre il carico sui sistemi di database, tuttavia richiede una certa quantità di progettazione per l'implementazione di cache sicure o l'eventuale introduzione di consistenza finale in alcune aree.
-
Identificazione dell'impatto dei compromessi sui clienti e sull'efficienza: Quando valuti i miglioramenti correlati alle prestazioni, determina quali scelte avranno un impatto sui clienti e sull'efficienza del carico di lavoro. Ad esempio, se l'utilizzo di un datastore chiave-valore aumenta le prestazioni del sistema, è importante valutare in che modo la consistenza della sua natura finale influirà sui clienti.
-
Misurazione dell'impatto dei miglioramenti delle prestazioni: Quando vengono apportate modifiche per migliorare le prestazioni, valuta i parametri e i dati raccolti. Utilizza queste informazioni per determinare l'impatto che il miglioramento delle prestazioni ha avuto sul carico di lavoro, sui suoi componenti e sui clienti. Queste misurazioni permettono di capire quali sono i miglioramenti ottenuti dai compromessi applicati e aiutano a stabilire se si sono verificati eventuali effetti collaterali negativi.
-
Scelta di più strategie relative alle prestazioni: Se possibile, utilizza più strategie per migliorare le prestazioni. Scegli, ad esempio, strategie come la memorizzazione dei dati nella cache per evitare eccessive chiamate di rete o dei database, l'utilizzo di repliche di lettura per i motori di database al fine di migliorare i tassi di lettura, lo sharding o la compressione dei dati, ove possibile, per ridurre i volumi, e il buffering e lo streaming dei risultati man mano che diventano disponibili per evitare blocchi.
Piano di miglioramento
Definizione delle aree in cui le prestazioni sono più importanti
Studio dei servizi e dei modelli di progettazione
Amazon Builders’ Library
Identificazione dell'impatto dei compromessi sui clienti e sull'efficienza
Misurazione dell'impatto dei miglioramenti delle prestazioni
Scelta di più strategie relative alle prestazioni