Skip to main content
Enterprise applications
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

filesystemio_options

Collaboratori kaminis85

Parametro di inizializzazione Oracle filesystemio_options Controlla l'utilizzo dell'i/o asincrono e diretto

Il comportamento e le raccomandazioni per filesystemio_options su ASA r2 sono identici ai sistemi AFF/ FAS perché il parametro è specifico di Oracle e non dipende dalla piattaforma di archiviazione. ASA r2 utilizza ONTAP come AFF/ FAS, quindi si applicano le stesse best practice.

Contrariamente a quanto si crede, l'i/o asincrono e diretto non si escludono a vicenda. NetApp ha osservato che questo parametro è spesso configurato in modo non corretto negli ambienti dei clienti e che questa errata configurazione è direttamente responsabile di molti problemi di prestazioni.

L'i/o asincrono significa che le operazioni i/o di Oracle possono essere parallelizzate. Prima della disponibilità di i/o asincrono su vari sistemi operativi, gli utenti hanno configurato numerosi processi dbwriter e modificato la configurazione del processo del server. Con l'i/o asincrono, il sistema operativo stesso esegue i/o per conto del software di database in modo altamente efficiente e parallelo. La procedura non pone i dati a rischio e le operazioni critiche, come il logging di redo di Oracle, vengono comunque eseguite in maniera sincrona.

L'i/o diretto ignora la cache buffer del sistema operativo. L'i/o su un sistema UNIX scorre normalmente attraverso la cache del buffer del sistema operativo. Ciò è utile per le applicazioni che non mantengono una cache interna, ma Oracle dispone di una propria cache buffer all'interno di SGA. In quasi tutti i casi, è meglio abilitare l'i/o diretto e allocare la RAM del server all'SGA piuttosto che affidarsi alla cache del buffer del sistema operativo. Oracle SGA utilizza la memoria in modo più efficiente. Inoltre, quando l'i/o fluisce attraverso il buffer del sistema operativo, è soggetto a un'ulteriore elaborazione, che aumenta le latenze. L'aumento delle latenze è particolarmente percepibile con un elevato i/o in scrittura quando una bassa latenza è un requisito critico.

Le opzioni per filesystemio_options sono:

  • Async. Oracle invia le richieste di i/o al sistema operativo per l'elaborazione. Questo processo consente a Oracle di eseguire altri lavori anziché attendere il completamento dell'i/o e quindi aumentare la parallelizzazione i/O.

  • Directio. Oracle esegue l'i/o direttamente sui file fisici piuttosto che instradare l'i/o attraverso la cache del sistema operativo host.

  • None. Oracle utilizza i/o sincroni e bufferizzati In questa configurazione, la scelta tra processi server condivisi e dedicati e il numero di dbwriter è più importante.

  • Setall. Oracle utilizza i/o sia asincrono che diretto In quasi tutti i casi, l'uso di setall è ottimale.

Nota Negli ambienti ASM, Oracle utilizza automaticamente I/O diretto e I/O asincrono per i dischi gestiti da ASM, quindi filesystemio_options non ha alcun effetto sui gruppi di dischi ASM. Per le distribuzioni non ASM (ad esempio, file system su LUN SAN), impostare: filesystemio_options = setall. Ciò consente sia l'I/O asincrono che quello diretto per prestazioni ottimali.

Alcuni vecchi sistemi operativi presentavano problemi con l'I/O asincrono, il che ha portato a consigli obsoleti che suggerivano di evitarlo. Tuttavia, l'I/O asincrono è stabile e pienamente supportato su tutti i sistemi operativi attuali. Non c'è motivo di disattivarlo a meno che non venga identificato un bug specifico del sistema operativo.

Se un database utilizza l'i/o con buffer, un passaggio all'i/o diretto potrebbe anche richiedere una modifica delle dimensioni SGA. La disattivazione dell'i/o con buffer elimina i vantaggi prestazionali che la cache del sistema operativo host fornisce al database. L'aggiunta di RAM alla SGA risolve questo problema. Il risultato netto dovrebbe essere un miglioramento delle performance di i/O.

Sebbene sia quasi sempre meglio utilizzare la RAM per Oracle SGA piuttosto che per il caching del buffer del sistema operativo, potrebbe essere impossibile determinare il valore migliore. Ad esempio, potrebbe essere preferibile utilizzare i/o con buffer di dimensioni SGA molto ridotte su un server di database con molte istanze Oracle attive in modo intermittente. Questa disposizione consente l'utilizzo flessibile della RAM disponibile rimanente sul sistema operativo da parte di tutte le istanze di database in esecuzione. Si tratta di una situazione molto insolita, ma è stata osservata presso alcune sedi dei clienti.

Suggerimento * NetApp consiglia* l'impostazione filesystemio_options A setall, ma tieni presente che in alcune circostanze la perdita della cache buffer dell'host potrebbe richiedere un aumento dell'SGA di Oracle. I sistemi ASA r2 sono ottimizzati per carichi di lavoro SAN con bassa latenza, pertanto l'utilizzo di setall si allinea perfettamente con la progettazione di ASA per distribuzioni Oracle ad alte prestazioni.