Utilizzo dall'accelerazione di query brevi - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo dall'accelerazione di query brevi

Short query acceleration (SQA) dà la priorità alle query selezionate di breve durata rispetto alle query a esecuzione più lunga. SQAesegue query di breve durata in uno spazio dedicato, in modo che le query non siano costrette ad attendere in coda per le query più SQA lunghe. SQAdà priorità solo alle query di breve durata e che si trovano in una coda definita dall'utente. ConSQA, le query di breve durata iniziano a essere eseguite più rapidamente e gli utenti vedono i risultati prima.

Se abilitiSQA, puoi ridurre le code di gestione del carico di lavoro (WLM) dedicate all'esecuzione di query brevi. Inoltre, le query di lunga durata non devono necessariamente far fronte a query brevi per gli slot in una coda, quindi potete configurare le code in modo da utilizzare meno slot di query. WLM Quando usi una simultaneità inferiore, il throughput delle query aumenta e le prestazioni generali del sistema risultano migliorate per la maggior parte dei carichi di lavoro.

CREATETABLEASLe istruzioni (CTAS) e le query di sola lettura, come le dichiarazioni, sono idonee. SELECT SQA

Amazon Redshift utilizza un algoritmo di machine learning per analizzare ciascuna query idonea e prevedere il tempo di esecuzione della query. Per impostazione predefinita, assegna WLM dinamicamente un valore per il runtime SQA massimo in base all'analisi del carico di lavoro del cluster. In alternativa, è possibile specificare un valore fisso di 1-20 secondi. Se il tempo di esecuzione previsto della query è inferiore al tempo di esecuzione SQA massimo definito o assegnato dinamicamente e la query è in attesa in WLM coda, SQA separa la query dalle code e ne pianifica l'esecuzione prioritariaWLM. Se una query viene eseguita più a lungo del tempo di esecuzione SQA massimo, la WLM sposta nella prima WLM coda corrispondente in base alle regole di assegnazione della coda. WLM Nel tempo, le previsioni migliorano man mano che si SQA impara dai modelli di query.

SQAè abilitato per impostazione predefinita nel gruppo di parametri predefinito e per tutti i nuovi gruppi di parametri. Per disabilitarlo SQA nella console Amazon Redshift, modifica la WLM configurazione per un gruppo di parametri e deseleziona Abilita l'accelerazione delle query brevi. Come best practice, consigliamo di utilizzare un numero di slot di WLM query pari o inferiore a 15 per mantenere prestazioni complessive ottimali del sistema. Per informazioni sulla modifica delle WLM configurazioni, consulta Configuring Workload Management nella Amazon Redshift Management Guide.

Tempo di esecuzione massimo per query brevi

Quando è abilitataSQA, WLM imposta il tempo di esecuzione massimo per le query brevi su dinamico per impostazione predefinita. Si consiglia di mantenere l'impostazione dinamica per la SQA massima autonomia. È possibile ignorare l'impostazione di default specificando un valore fisso compreso tra 1 e 20 secondi.

In alcuni casi, potresti prendere in considerazione l'utilizzo di valori diversi per i valori di runtime SQA massimi per migliorare le prestazioni del sistema. In questi casi, analizza il tuo carico di lavoro per trovare il tempo massimo di esecuzione per la maggior parte delle tue query a esecuzione breve. La seguente query restituisce il tempo di esecuzione massimo per le query a circa il 70° percentile.

select least(greatest(percentile_cont(0.7) within group (order by total_exec_time / 1000000) + 2, 2), 20) from stl_wlm_query where userid >= 100 and final_state = 'Completed';

Dopo aver identificato un valore di tempo di esecuzione massimo adatto al carico di lavoro, non è necessario modificarlo a meno che il carico di lavoro non cambi significativamente.

Monitoraggio SQA

Per verificare se SQA è abilitata, esegui la seguente query. Se la query restituisce una riga, allora SQA è abilitata.

select * from stv_wlm_service_class_config where service_class = 14;

La seguente query mostra il numero di query che hanno sostato in ciascuna coda di query (classe di servizio). Mostra anche il tempo medio di esecuzione, il numero di query con tempo di attesa al 90° percentile e il tempo medio di attesa. SQAle interrogazioni vengono utilizzate nella classe di servizio 14.

select final_state, service_class, count(*), avg(total_exec_time), percentile_cont(0.9) within group (order by total_queue_time), avg(total_queue_time) from stl_wlm_query where userid >= 100 group by 1,2 order by 2,1;

Per scoprire da quali interrogazioni sono state raccolte SQA e completate correttamente, esegui la seguente interrogazione.

select a.queue_start_time, a.total_exec_time, label, trim(querytxt) from stl_wlm_query a, stl_query b where a.query = b.query and a.service_class = 14 and a.final_state = 'Completed' order by b.query desc limit 5;

Per trovare le interrogazioni che SQA hanno avuto esito positivo ma che sono scadute, esegui la seguente query.

select a.queue_start_time, a.total_exec_time, label, trim(querytxt) from stl_wlm_query a, stl_query b where a.query = b.query and a.service_class = 14 and a.final_state = 'Evicted' order by b.query desc limit 5;

Per ulteriori informazioni sulle query rifiutate e, più in generale, sulle operazioni basate su regole che possono essere eseguite sulle query, consulta WLMregole di monitoraggio delle interrogazioni.