

# PERF08-BP04 Misurazione dell'impatto dei miglioramenti delle prestazioni
<a name="perf_tradeoffs_performance_measure"></a>

 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. 

 Un sistema Well-Architected si basa su una combinazione di varie strategie riguardanti le prestazioni. Identifica quale strategia determinerà il maggiore impatto positivo su un determinato hotspot o collo di bottiglia. Lo sharding dei dati su più sistemi di database relazionali, ad esempio, può migliorare il throughput complessivo pur continuando a supportare le transazioni e, con ogni shard, il caching può contribuire a ridurre il carico. 

 **Anti-pattern comuni:** 
+  Distribuisci e gestisci manualmente le tecnologie disponibili come servizi gestiti. 
+  Ti concentri su un solo componente, ad esempio la rete, nonostante più componenti possano essere utilizzati per aumentare le prestazioni del carico di lavoro. 
+  L'unico punto di riferimento è dato dal feedback e dalle percezioni dei clienti. 

 **Vantaggi dell'adozione di questa best practice:** Per implementare strategie prestazionali, è necessario selezionare più servizi e caratteristiche che, insieme, ti permetteranno di soddisfare i requisiti prestazionali del carico di lavoro. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Medium 

## Guida all'implementazione
<a name="implementation-guidance"></a>

 Un sistema Well-Architected si basa su una combinazione di varie strategie riguardanti le prestazioni. Identifica quale strategia determinerà il maggiore impatto positivo su un determinato hotspot o collo di bottiglia. Lo sharding dei dati su più sistemi di database relazionali, ad esempio, può migliorare il throughput complessivo pur continuando a supportare le transazioni e, con ogni shard, il caching può contribuire a ridurre il carico. 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [RUM Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Distributed Load Testing on AWS (Test di carico distribuito in AWS)](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Optimize applications through Amazon CloudWatch RUM (Ottimizzazione delle applicazioni tramite RUM Amazon CloudWatch)](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo di Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Esempi correlati:** 
+  [Measure page load time with Amazon CloudWatch Synthetics (Misurare il tempo di caricamento della pagina con Amazon CloudWatch Synthetics)](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web Client (Client Web RUM Amazon CloudWatch)](https://github.com/aws-observability/aws-rum-web) 
+  [Distributed Load Testing on AWS (Test di carico distribuito in AWS)](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 