Modifica limite concorrenza servizio MEDIO (modello di computazione OCPU)

Se l'applicazione richiede una concorrenza personalizzata, è possibile modificare il limite di concorrenza per il servizio Autonomous Database MEDIUM.

La selezione di uno dei servizi predefiniti fornisce valori di concorrenza che funzionano bene per la maggior parte delle applicazioni. Nei casi in cui la selezione di uno dei servizi predefiniti non soddisfa le esigenze di prestazioni dell'applicazione, è possibile utilizzare il servizio MEDIUM e modificare il limite di concorrenza. Ad esempio, quando si eseguono benchmark per utente singolo, è possibile impostare il limite di concorrenza del servizio MEDIUM su 1 per ottenere il massimo grado di parallelismo (DOP).

Nota

La modifica del limite di concorrenza è consentita solo per un'istanza con due (2) o più OCPU.

Ad esempio, se l'istanza è configurata con 100 OCPU, per impostazione predefinita Autonomous Database fornisce un limite di concorrenza pari a 126 per il servizio MEDIUM:

Sessioni 1.26 x number of OCPUs (fino a 126 query simultanee)

In questo esempio l'utilizzo del servizio MEDIUM supporta un'applicazione con un massimo di 126 query concorrenti con DOP di 4. Se sono necessarie solo 50 query concorrenti e si desidera un DOP più elevato, è possibile ridurre il limite di concorrenza e quindi aumentare il DOP. A tale scopo, impostare il limite di concorrenza del servizio MEDIUM su 50. Quando si modifica il limite di concorrenza, il sistema calcola e imposta il DOP in base al limite di concorrenza selezionato e al numero di OCPU. In questo esempio, con il limite di concorrenza impostato su 50, il nuovo DOP è 12. Quando l'opzione Scalabilità automatica OCI è abilitata, il DOP viene impostato su un valore tre volte maggiore. In questo esempio il valore DOP è 36.

È possibile modificare il limite di concorrenza per il servizio MEDIUM in Database Actions o utilizzando il package PL/SQL CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE.

Per modificare il limite di concorrenza del servizio MEDIUM nelle azioni del database, effettuare le operazioni riportate di seguito.

  1. Accedere a Database Actions come utente ADMIN.

    Per ulteriori informazioni, vedere Accedere alle azioni del database come ADMIN.

  2. Nel Launchpad Azioni database, in Amministrazione, fare clic su Imposta regole di Resource Management.
  3. Nella pagina Imposta regole di Resource Management, selezionare la scheda Limite concorrenza.
  4. Per il servizio MEDIUM, modificare il valore nel limite di concorrenza desiderato immettendo un valore o facendo clic sulle icone Decremento o Incremento.

    Se il limite di concorrenza specificato non è valido, in base al numero di OCPU, si riceverà un messaggio come il seguente, in cui viene elencato l'intervallo di valori valido per l'istanza:

    Please enter a concurrency limit between 1 and 300

    Questo esempio di messaggio di errore proviene da un'istanza con 100 OCPU (il valore massimo 300 visualizzato è 3 volte il numero di OCPU).

  5. Fare clic su Salva modifiche.
  6. Fare clic su OK.

Per ripristinare il valore predefinito del limite di concorrenza per il servizio MEDIUM, fare clic su Carica valori predefiniti e fare clic su Salva modifiche.

Modifica del limite di concorrenza del servizio MEDIUM con la procedura PL/SQL UPDATE_PLAN_DIRECTIVE (modello di computazione OCI)

In alternativa all'utilizzo della scheda Imposta regole di Resource Management in Database Actions, è possibile utilizzare PL/SQL per modificare il limite di concorrenza per il servizio MEDIUM.

Per modificare il limite di concorrenza del servizio MEDIUM con CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE:

  1. Chiamare la procedura PL/SQL CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE per aggiornare il limite di concorrenza per il gruppo di consumer MEDIUM.

    Ad esempio, con 3 OCPU, modificare il limite di concorrenza del servizio MEDIUM su 2, come indicato di seguito.

    BEGIN
        CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(consumer_group => 'MEDIUM', concurrency_limit => 2); 
    END;
    /
    

    Se l'indirizzo concurrency_limit specificato non è valido, in base al numero di OCPU, si riceverà un messaggio simile al seguente, in cui viene elencato l'intervallo di valori valido per l'istanza:

    ORA-20000: Invalid or missing value. Concurrency limit must be between 1 and 9 for the specified OCPU count

    Questo esempio di messaggio di errore proviene da un'istanza con 3 OCPU.

  2. Utilizzare la funzione PL/SQL CS_RESOURCE_MANAGER.LIST_CURRENT_RULES per verificare il limite di concorrenza del servizio MEDIUM aggiornato e il grado di parallelismo:
    SELECT * FROM CS_RESOURCE_MANAGER.LIST_CURRENT_RULES();
    
    CONSUMER_GROUP ELAPSED_TIME_LIMIT IO_MEGABYTES_LIMIT SHARES CONCURRENCY_LIMIT DEGREE_OF_PARALLELISM 
    -------------- ------------------ ------------------ ------ ----------------- --------------------- 
    HIGH                                                      4                 3                     3 
    MEDIUM                                                    2                 2                     9 
    LOW                                                       1               900                     1 
    
    

    Questa procedura restituisce l'elenco di valori per tutti i gruppi di consumer. Dopo aver modificato il limite di concorrenza specificato al Passo 1, controllare i valori del servizio MEDIUM CONCURRENCY_LIMIT e DEGREE_OF_PARALLELISM per verificare le modifiche.

  3. Dopo aver modificato il limite di concorrenza per il servizio MEDIUM, prova la tua applicazione collegandoti al servizio MEDIUM per verificare che il limite di concorrenza personalizzato soddisfi i tuoi obiettivi di prestazioni.

Per tornare ai valori predefiniti, utilizzare la procedura PL/SQL CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES per ripristinare le impostazioni predefinite del servizio MEDIUM.

Ad esempio:

BEGIN
    CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(consumer_group => 'MEDIUM', concurrency_limit => TRUE);
END;
/

Per ulteriori informazioni, vedere CS_RESOURCE_MANAGER Package.

Modifica note limite concorrenza servizio MEDIO (modello di calcolo OCPU)

  • La modifica del limite di concorrenza è consentita solo per il servizio MEDIUM.

  • La modifica del limite di concorrenza è consentita solo se il numero di OCPU è maggiore di 1.

  • La modifica del limite di concorrenza modifica anche il grado di parallelismo (nella maggior parte dei casi, a seconda dell'entità della differenza tra il vecchio limite di concorrenza e il nuovo valore impostato).

  • Il limite di concorrenza impostato deve essere compreso nell'intervallo:

    • Con la scala automatica OCPU disabilitata: tra 1 e 3 x the number of OCPUs

    • Con la scala automatica OCI abilitata: tra 1 e 9 x the number of OCPUs

  • Il servizio MEDIUM imposta per impostazione predefinita il seguente limite di concorrenza e i seguenti valori DOP:

    Servizio database MEDIO Valore predefinito con ridimensionamento automatico OCPU disabilitato Valore predefinito con scala automatica OCPU abilitata

    Limite concorrenza

    1,26 × numero di OCPU quando il numero di OCPU è ≥ 4

    5 quando il numero di OCPU è minore di 4

    3,78 × numero di OCPU quando il numero di OCPU è ≥ 4

    15 quando il numero di OCPU è inferiore al numero 4

    DOP

    4 quando il numero di OCPU è maggiore di 4

    o

    Numero di OCPU, quando il numero di OCPU è inferiore al numero 4

    4 quando il numero di OCPU è maggiore di 4

    o

    Numero di OCPU, quando il numero di OCPU è inferiore al numero 4

  • Modificando il valore del limite di concorrenza, il DOP del servizio MEDIUM può arrivare fino a 2 e fino a: 2 x number of OCPUs (se la scala automatica di computazione è disabilitata) o 6 x number of OCPUs (se la scala automatica di computazione è abilitata).

    Per informazioni sulla scala automatica di calcolo, vedere Usa scala automatica.

  • È possibile tornare in qualsiasi momento ai valori predefiniti per il limite di concorrenza del servizio MEDIUM e il DOP.