Regolazione automatica per Amazon OpenSearch Service
La regolazione automatica in Amazon OpenSearch Service utilizza i parametri relativi alle prestazioni e all'utilizzo del cluster OpenSearch per suggerire modifiche alla configurazione relative alla memoria, incluse le dimensioni della coda e della cache e le impostazioni JVM (Java Virtual Machine) sui nodi. Queste modifiche facoltative migliorano la velocità e la stabilità del cluster.
Alcune modifiche vengono implementate immediatamente, mentre altre richiedono la programmazione di una finestra di manutenzione. È possibile ripristinare le impostazioni di default di OpenSearch Service in qualsiasi momento.
Man mano che la regolazione automatica raccoglie e analizza i parametri delle prestazioni per il dominio, è possibile visualizzarne i suggerimenti nella console OpenSearch Service nella pagina Notifiche.
La regolazione automatica è disponibile nelle Regioni AWS commerciali su domini che eseguono qualsiasi versione di OpenSearch, o Elasticsearch 6.7 o successiva, con un tipo di istanza supportato.
Tipi di modifiche
La regolazione automatica ha due grandi categorie di modifiche:
-
Modifiche senza interruzioni applicate durante l'esecuzione del cluster
-
Modifiche che richiedono implementazioni blu/verde
In base ai parametri delle prestazioni del dominio, la regolazione automatica può suggerire regolazioni alle seguenti impostazioni:
Tipo di modifica | Categoria | Descrizione |
---|---|---|
Dimensioni heap JVM |
Blu/verde |
Per impostazione predefinita, OpenSearch Service impiega la metà della RAM di un'istanza per l'heap Java (fino a una dimensione dell'heap di 32 GiB). L'aumento di questa percentuale dà ad OpenSearch più memoria, ma ne lascia meno per il sistema operativo e gli altri processi. Valori maggiori possono ridurre il numero di interruzioni di garbage collection, ma aumentare la lunghezza di tali interruzioni. |
Impostazioni JVM di nuova generazione |
Blu/verde |
Le impostazioni di "nuova generazione" di JVM influenzano la frequenza delle garbage collection minori. Le raccolte minori più frequenti possono diminuire il numero di raccolte principali e interruzioni. |
Dimensioni della coda |
Senza interruzioni |
Per impostazione predefinita, la dimensione della coda di ricerca è |
Dimensioni della cache |
Senza interruzioni |
La cache dei campi monitora le strutture dati on-heap, quindi è importante monitorare l'utilizzo della cache. La regolazione automatica dimensiona la dimensione della cache dei dati sul campo per evitare problemi di memoria esaurita e di interruttore. La cache di richieste delle partizioni viene gestita a livello di nodo e ha una dimensione massima di default pari all'1% dell'heap. La regolazione automatica dimensiona la dimensione della cache delle richieste delle partizioni per accettare più richieste di ricerca e indice rispetto a quelle gestite dal cluster configurato. |
Dimensione richiesta | Senza interruzioni |
Per impostazione predefinita, quando la dimensione aggregata delle richieste in volo supera il 10% della JVM totale (2% per tipi di istanza Auto-Tune regola automaticamente questa soglia, tipicamente tra il 5-15%, in base alla quantità di JVM attualmente occupata nel sistema. Ad esempio, se la pressione della memoria JVM è elevata, Auto-Tune potrebbe ridurre la soglia al 5%, a quel punto si potrebbero vedere più rifiuti fino a quando il cluster non si stabilizza e la soglia aumenta. |
Se si abilita la regolazione automatica senza impostare una finestra di manutenzione, saranno applicate solo le modifiche senza interruzioni. I vantaggi in termini di prestazioni nel tempo sono generalmente più piccoli, ma si evita il sovraccarico associato alle implementazioni blu/verde.
Per istruzioni sulla configurazione delle finestre di manutenzione, consultare Pianificazione delle modifiche.
Abilitazione o disabilitazione della regolazione automatica
OpenSearch Service abilita la regolazione automatica per impostazione predefinita sui nuovi domini. Per abilitare o disabilitare la regolazione automatica sui domini esistenti, si consiglia di utilizzare la console, che semplifica enormemente il processo. Nella console, scegli il tuo dominio e passa alla scheda Auto-Tune (Ottimizzazione automatica), quindi scegli Edit (Modifica). L'abilitazione della regolazione automatica non causa una implementazione blu/verde.
AWS CLI
Per utilizzare la AWS CLIauto-tune-options
. Il comando di esempio seguente abilita la regolazione automatica su un dominio esistente con una pianificazione di manutenzione che si ripete ogni giorno alle 12:00 UTC:
aws opensearch update-domain-config \ --domain-name mylogs \ --auto-tune-options '{"DesiredState": "ENABLED","MaintenanceSchedules":[{"StartAt":"
2021-12-19
","Duration":{"Value":2
,"Unit":"HOURS"},"CronExpressionForRecurrence": "cron(0 12 * * ? *)
"}]}'
API di configurazione
Per utilizzare l'API di configurazione, configurare le impostazioni di AutoTuneOptions
:
POST https://es.
us-east-1
.amazonaws.com/2021-01-01/opensearch/domain/domain-name
/config { "AutoTuneOptions": { "DesiredState": "ENABLED", "MaintenanceSchedules": [{ "StartAt":4104152288000
, "Duration": { "Value":2
, "Unit": "HOURS" }, "CronExpressionForRecurrence": "cron(0 12 * * ? *)
" }] } }
CloudFormation
Al momento non è possibile abilitare o disabilitare l'ottimizzazione automatica tramite AWS CloudFormation.
Pianificazione delle modifiche
Per applicare le modifiche che richiedono una implementazione blu/verde, è necessario pianificare una finestra di manutenzione per il dominio, ad esempio tra le 6:00 e le 9:00 di venerdì mattina. Si consiglia di programmare le finestre di manutenzione per i tempi di traffico ridotto.
-
Per esaminare tutte le modifiche prima di implementarle, attendere che la regolazione automatica notifichi un'ottimizzazione suggerita. Quindi pianificare una finestra di manutenzione una tantum per implementare le modifiche.
-
Per un'esperienza più automatizzata, impostare una finestra di manutenzione settimanale, ad esempio ogni sabato alle 2:00, oppure usare una espressione cron per pianificazioni più complesse.
Per pianificare le modifiche nella console, scegliere il dominio, passare alla scheda Regolazione automatica, selezionare Modifica quindi selezionare Aggiungi finestra di manutenzione. Questa scheda riporta anche la finestra di manutenzione corrente e indica se la regolazione automatica apporterà modifiche durante la finestra successiva.
Espressioni cron
Le espressioni Cron per la regolazione automatica usano la stessa sintassi a sei campi di Amazon CloudWatch Events:
minute hour day-of-month month day-of-week year
Ad esempio, l'espressione seguente si traduce in "ogni martedì e venerdì alle 1:15 dal 2021 al 2024":
15 1 ? * 2,5 2021-2024
Nella tabella seguente sono inclusi i valori validi per ogni campo.
Campo | Valori validi |
---|---|
Minuto |
0-59 |
Ora |
0-23 |
Giorno del mese |
1-31 |
Mese |
1-12 o GEN, FEB, MAR, APR, MAG, GIU, LUG, AGO, SET, NOV, DIC |
Giorno della settimana |
1-7 o DOM, LUN, MAR, MER, GIO, VEN, SAB |
Anno |
1970-2199 |
Il giorno del mese e il giorno della settimana si sovrappongono, quindi è possibile specificarne uno, ma non entrambi. È necessario contrassegnare l'altro come ?
. Per un riepilogo completo delle opzioni con caratteri jolly, consultare la Guida per l'utente di Amazon CloudWatch Events.