Questo documento descrive come ottimizzare il motore colonnare per un'istanza AlloyDB. Questo documento presuppone che tu conosca PostgreSQL.
Modificare le risorse della CPU per le attività di manutenzione
L'esempio seguente mostra come configurare il motore colonnare in modo che utilizzi il 50% dei core della CPU:
google_job_scheduler.maintenance_cpu_percentage = 50
Il motore colonnare utilizza fino al 20% dei core della CPU per i job di manutenzione in background, come compilazione, aggiornamento e consigli. Per regolare le risorse della CPU in modo da consentire le attività di manutenzione, imposta il flag google_job_scheduler.maintenance_cpu_percentage
su un valore compreso tra 20
e 100
. Il valore predefinito è 20
. L'utilizzo della CPU più basso per le attività di manutenzione in background è 1 vCPU.
Aggiungi utenti per accelerare la manutenzione delle colonne
L'esempio seguente mostra come impostare quattro processi di lavoro:
google_job_scheduler.max_parallel_workers_per_job = 4
Il motore colonnare utilizza fino a due processi di lavoro per i job in background di aggiornamento e compilazione. Per aumentare la velocità di queste operazioni, imposta il seguente flag per aumentare il numero di processi di lavoro per i job in background. L'impostazione predefinita è 2 processi di lavoro. Questi processi vengono eseguiti su risorse CPU limitate, come specificato nel flag google_job_scheduler.maintenance_cpu_percentage
. Questo flag non richiede il riavvio del database.
Modificare la pianificazione della colonnarizzazione automatica
L'esempio seguente mostra come impostare la pianificazione della colonnarizzazione automatica su sei ore:
google_columnar_engine.auto_columnarization_schedule = 'EVERY 6 HOURS'
La pianificazione della colonnarizzazione automatica può essere impostata nel flag google_columnar_engine.auto_columnarization_schedule
in base ai carichi di lavoro con scansioni elevate previsti. Specifica una o più ore per questo flag. La modifica del valore di questo flag non richiede il riavvio del database.
Compilare manualmente il motore colonnare
L'esempio seguente mostra come compilare manualmente il motore colonnare:
google_columnar_engine.enable_auto_columnarization = OFF
Se preferisci compilare manualmente il motore colonnare, imposta il flag google_columnar_engine.enable_auto_columnarization
su OFF
. Il valore predefinito di questo flag è ON
. La modifica del valore di questo flag non richiede il riavvio del database.
Per ulteriori dettagli, consulta Gestire i contenuti manualmente.
Ottimizzazione della dimensione dell'heap della popolazione del motore colonnare
Il seguente esempio mostra come configurare il flag google_columnar_engine.population_heap_size_in_mb
:
population_heap_size_in_mb = 250
Per convertire i dati in formato a colonne, il motore a colonne alloca la quantità di memoria in megabyte specificata dal flag google_columnar_engine.population_heap_size_in_mb
. Una volta completata la conversione, questa memoria viene immediatamente deallocata, in genere entro pochi secondi.
I valori consentiti per l'impostazione population_heap_size_in_mb
vanno da un minimo di 200 MB a un massimo di 1000 MB.
Il valore predefinito di 250 MB per il flag population_heap_size_in_mb
è adatto alla maggior parte dei casi d'uso tipici del database. Tuttavia, potresti trovarti in situazioni in cui devi aumentare questo valore.