

# PERF08-BP01 Definizione delle aree in cui le prestazioni sono più importanti
<a name="perf_tradeoffs_performance_critical_areas"></a>

 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. 

**Risultato desiderato:** aumenta l'efficienza delle prestazioni comprendendo l'architettura, gli schemi di traffico e gli schemi di accesso ai dati e identifica la latenza e i tempi di elaborazione. Identifica i potenziali colli di bottiglia che potrebbero influire sull'esperienza del cliente man mano che il carico di lavoro aumenta. Quando identifichi queste aree, individua quale soluzione puoi distribuire per evitare tali problemi di prestazioni.

 **Anti-pattern comuni:** 
+  Ritieni che i parametri di calcolo standard come `CPUUtilization` o la pressione della memoria siano sufficienti per rilevare i problemi di prestazioni. 
+  Utilizzi solo i parametri predefiniti registrati dal software di monitoraggio selezionato. 
+  Rivedi i parametri solo quando c'è un problema. 

 **Vantaggi dell'adozione di questa best practice:** l'individuazione delle aree critiche delle prestazioni consente ai proprietari del carico di lavoro di monitorare i KPI e dare priorità ai miglioramenti ad alto impatto. 

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

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

Configura il tracciamento end-to-end per identificare gli schemi di traffico, la latenza e le aree con prestazioni critiche. Monitora gli schemi di accesso ai dati per query lente o dati scarsamente frammentati e partizionati. Identifica le aree vincolate del carico di lavoro utilizzando il test o il monitoraggio del carico.

## Passaggi dell'implementazione
<a name="w2aac19c11c11b5b6c17"></a>

1.  Configura il monitoraggio end-to-end per acquisire tutti i componenti e i parametri del carico di lavoro. 
   +  Utilizza [Amazon CloudWatch Real-User Monitoring (RUM)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) per acquisire i parametri delle prestazioni delle applicazioni da sessioni lato client e front-end di utenti reali. 
   +  Configura [AWS X-Ray](https://aws.amazon.com/xray/) per tenere traccia del traffico nei livelli dell'applicazione e identificare la latenza tra componenti e dipendenze. Utilizza le mappe del servizio X-Ray per osservare le relazioni e la latenza tra i componenti del carico di lavoro. 
   +  Utilizza [gli approfondimenti sulle prestazioni di Amazon Relational Database Service](https://aws.amazon.com/rds/performance-insights/) per osservare i parametri delle prestazioni del database e identificare le prestazioni da migliorare. 
   +  Utilizza [il monitoraggio avanzato di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html) per osservare i parametri delle prestazioni del sistema operativo del database. 
   +  Raccogli [i parametri CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) per ogni componente e servizio del carico di lavoro e identifica quali parametri influiscono sull'efficienza delle prestazioni. 
   +  Configura [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) per ulteriori approfondimenti e suggerimenti sulle prestazioni. 

1.  Esegui i test per generare parametri, identificare schemi di traffico, colli di bottiglia e aree con prestazioni critiche. 
   +  Configura [i canary sintetici di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) per emulare le attività dell'utente basate su browser in modo programmatico usando processi `cron` o espressioni di valutazione per generare parametri coerenti nel tempo. 
   +  Utilizza la soluzione [AWS Distributed Load Testing (Test di carico distribuito in AWS)](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) per generare picchi di traffico o testare il carico di lavoro al tasso di crescita previsto. 

1.  Valuta i parametri e i dati di telemetria per identificare le aree critiche delle prestazioni. Esamina queste aree con il tuo team per determinare il monitoraggio e le soluzioni per evitare i colli di bottiglia. 

1.  Sperimenta i miglioramenti delle prestazioni e valuta tali modifiche con i dati. 
   +  Utilizza [CloudWatch Evidently](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently.html) per testare i nuovi miglioramenti e l'impatto delle prestazioni sul carico di lavoro. 

 **Livello di impegno per il piano di implementazione:** per adottare questa best practice occorre esaminare i parametri end-to-end ed essere a conoscenza delle prestazioni attuali del carico di lavoro. È richiesto un livello di impegno moderato per configurare il monitoraggio end-to-end e identificare le aree con prestazioni critiche. 

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

 **Documenti correlati:** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [X-Ray Documentation (Documentazione di X-Ray)](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Usare Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) 
+  [CloudWatch RUM e X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-RUM.html) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [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 Amazon CloudWatch RUM)](https://github.com/aws-observability/aws-rum-web) 
+  [SDK X-Ray per Node.js](https://github.com/aws/aws-xray-sdk-node) 
+  [SDK X-Ray per Phyton](https://github.com/aws/aws-xray-sdk-python) 
+  [SDK X-Ray per Java](https://github.com/aws/aws-xray-sdk-java) 
+  [SDK X-Ray per .Net](https://github.com/aws/aws-xray-sdk-dotnet) 
+  [SDK X-Ray per Ruby](https://github.com/aws/aws-xray-sdk-ruby) 
+  [Daemon X-Ray](https://github.com/aws/aws-xray-daemon) 
+  [Test di carico distribuito in AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 