Condividi tramite


Configurare l'ottimizzazione intelligente per Azure Database per PostgreSQL usando l'Azure CLI

È possibile verificare e aggiornare la configurazione di ottimizzazione intelligente per un'istanza del server flessibile di Database di Azure per PostgreSQL usando l'interfaccia della riga di comando di Azure.

Per altre informazioni sull'ottimizzazione intelligente, vedere la panoramica.

Prerequisiti

  • Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

  • Installare o aggiornare l'interfaccia della riga di comando di Azure all'ultima versione. Vedere Installare l'interfaccia della riga di comando di Azure.

  • Accedere all'account Azure usando il comando az login . Si noti la proprietà id, che fa riferimento all'ID sottoscrizione per l'account Azure.

    az login
    
  • Se si hanno più sottoscrizioni, scegliere la sottoscrizione appropriata in cui si vuole creare il server usando il comando az account set:

    az account set --subscription <subscription id>
    
  • Se non è già stata creata un'istanza del server flessibile di Database di Azure per PostgreSQL, crearne una usando il comando az postgres flexible-server create:

    az postgres flexible-server create --resource-group myresourcegroup --name myservername
    

Verificare le impostazioni correnti

Usare il comando az postgres flexible-server parameter show per confermare le impostazioni correnti della funzionalità di ottimizzazione intelligente.

È possibile verificare se questa funzionalità è attivata per il server mydemoserver.postgres.database.azure.com nel gruppo myresourcegroup di risorse usando il comando seguente:

az postgres flexible-server parameter show --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning --query value

È possibile esaminare l'impostazione corrente del parametro del server intelligent_tuning.metric_targets usando il comando seguente:

az postgres flexible-server parameter show --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets --query value

Abilitare l'ottimizzazione intelligente

Per abilitare o disabilitare l'ottimizzazione intelligente, usare il comando az postgres flexible-server parameter set. È possibile scegliere tra le destinazioni di ottimizzazione seguenti: none, Storage-checkpoint_completion_target, Storage-min_wal_size, Storage-max_wal_size, Storage-bgwriter_delay, tuning-autovacuum e all.

Importante

L'ottimizzazione automatica è attualmente supportata per i livelli di calcolo server per utilizzo generico e ottimizzato per la memoria con quattro o più vCore. Il livello di calcolo del server con burst non è supportato.

  1. Attivare la funzionalità di ottimizzazione intelligente usando il comando seguente:

    az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning --value ON
    
  2. Selezionare le destinazioni di ottimizzazione da attivare.

    • Per attivare tutte le destinazioni di ottimizzazione, usare il comando seguente:

      az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets --value all
      
    • Per abilitare solo l'ottimizzazione autovacuum, usare il comando seguente:

      az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets --value tuning-autovacuum
      
    • Per attivare due destinazioni di ottimizzazione, usare il comando seguente:

      az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets --value tuning-autovacuum,Storage-bgwriter_delay
      

    Se si vuole reimpostare il valore di un parametro sul valore predefinito, è sufficiente escludere il parametro --value facoltativo. Il servizio applica quindi il valore predefinito. Nell'esempio precedente il comando sarà simile al seguente e imposta intelligent_tuning.metric_targets su none:

    az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets
    

Note

Entrambi i parametri intelligent_tuning e intelligent_tuning.metric_targets del server sono dinamici, ovvero non è necessario riavviare il server quando vengono modificati i relativi valori.

Considerazioni sulla selezione dei valori per l'ottimizzazione delle destinazioni

Quando si scelgono valori dal parametro del server intelligent_tuning.metric_targets, tenere conto delle considerazioni seguenti:

  • Il valore NONE ha la precedenza su tutti gli altri valori. Se si sceglie NONE insieme a qualsiasi combinazione di altri valori, il parametro viene percepito come impostato su NONE. Equivale a intelligent_tuning = OFF, quindi non viene eseguita alcuna ottimizzazione.

  • Il valore ALL ha la precedenza su tutti gli altri valori, ad eccezione di NONE. Se si sceglie ALL con qualsiasi combinazione, per impedire NONE, tutti i parametri elencati vengono sottoposti all'ottimizzazione.

  • Il valore ALL include tutte le destinazioni delle metriche esistenti. Questo valore si applica automaticamente anche alle nuove destinazioni di metrica che è possibile aggiungere in futuro. Ciò consente l'ottimizzazione completa e a prova futura dell'istanza del server flessibile Database di Azure per PostgreSQL.

  • Se si desidera includere un'altra destinazione di ottimizzazione, è necessario specificare le destinazioni di ottimizzazione esistenti e nuove. Ad esempio, se bgwriter_delay è già abilitato e si vuole aggiungere l'ottimizzazione autovacuum, il comando dovrebbe essere simile al seguente:

    az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets --value tuning-autovacuum,Storage-bgwriter_delay
    

    Se si specifica solo un nuovo valore, le impostazioni correnti verranno sovrascritte. Quando si aggiunge una nuova destinazione di ottimizzazione, assicurarsi sempre di includere le destinazioni di ottimizzazione esistenti nel comando.