Regolazione automatica per Amazon OpenSearch Service - Amazon OpenSearch Service

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:

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 è 1000 e la dimensione della coda di scrittura è10000. La regolazione automatica dimensiona automaticamente le code di ricerca e scrittura se è disponibile un heap aggiuntivo per gestire le richieste.

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 t2 e 1% per t3.small), OpenSearch limita tutte le nuove richieste _search e _bulk fino al completamento delle richieste esistenti.

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 CLI, configurare i parametri auto-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.