Modifica limite concorrenza servizio MEDIUM (modello di calcolo ECPU)

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 quattro (4) o più ECPU.

Ad esempio, con la scala automatica computazione disabilitata, se l'istanza è configurata con 400 ECPU, per impostazione predefinita Autonomous Database fornisce un limite di concorrenza di 100 per il servizio MEDIUM:

Sessioni 0.25125 x number of ECPUs (fino a 100 query concorrenti). Un risultato decimale viene troncato.

In questo esempio il servizio MEDIUM supporta un'applicazione con un massimo di 100 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 il database aumenta il DOP. A tale scopo, impostare il limite di concorrenza del servizio MEDIUM su 50. Quando si modifica il limite di concorrenza, il database calcola e imposta il DOP in base al limite di concorrenza selezionato e al numero di ECPU. In questo esempio, con il limite di concorrenza impostato su 50, il nuovo DOP è 12.

Con la funzionalità Scalabilità automatica computazione 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 ECPU, si riceverà un messaggio come il seguente, che elenca l'intervallo di valori valido per l'istanza:

    Enter a number between 1 and 12.
  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 limite concorrenza servizio MEDIO con procedura PL/SQL UPDATE_PLAN_DIRECTIVE (modello di computazione ECPU)

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 12 ECPU, 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 il valore concurrency_limit specificato non è valido, in base al numero di ECPU, nella procedura viene visualizzato un messaggio di errore che elenca l'intervallo di valori valido per l'istanza. Ad esempio, 12 ECPU:

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

    Questo esempio di messaggio di errore proviene da un'istanza con 12 ECPU.

  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();

    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 MEDIUM (modello di calcolo ECPU)

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

  • La modifica del limite di concorrenza è consentita solo se il numero di ECPU è maggiore o uguale a 4.

  • La modifica del limite di concorrenza modifica anche il grado di parallelismo (in alcuni casi il valore non cambia, 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 della computazione disabilitata: tra 1 e .75 x the number of ECPUs
    • Con la scala automatica della computazione abilitata: tra 1 e 2.25 x the number of ECPUs
  • 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 computazione disabilitato Valore predefinito con scala automatica computazione abilitata

    Limite concorrenza

    0.25125 × number of ECPUs quando il numero di ECPU è ≥ 8

    Un risultato decimale viene troncato

    2 quando il numero di ECPU è compreso nell'intervallo 4 ≤ ECPUs < 8

    0.75375 × number of ECPUs quando il numero di ECPU è ≥ 8

    Un risultato decimale viene troncato

    6 quando il numero di ECPU è compreso nell'intervallo: 4 ≤ ECPUs < 8

    DOP

    4 quando il numero di ECPU è ≥ 8

    o

    TRUNC (ECPU/2), quando il numero di ECPU è < 8

    4 quando il numero di ECPU è ≥ 8

    o

    TRUNC (ECPU/2), quando il numero di ECPU è < 8

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

    Vedere Usa scala automatica per informazioni su Scalabilità automatica computazione.

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