Scheduler I/O per AL2 - Amazon Linux 2

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Scheduler I/O per AL2

Le I/O scheduler is a part of the Linux operating system that sorts and merges I/O richieste e determina l'ordine in cui vengono elaborate.

I/O schedulers are particularly beneficial for devices such as magnetic hard drives, where seek time can be expensive and where it is optimal to merge co-located requests. I/Ogli scheduler hanno un impatto minore sui dispositivi a stato solido e sugli ambienti virtualizzati. Questo perché per i dispositivi solid state, l'accesso sequenziale e casuale non differisce e, per gli ambienti virtualizzati, l'host fornisce il proprio livello di pianificazione.

In questo argomento viene descritto lo I/O scheduler di Amazon Linux. Per ulteriori informazioni sul pianificatore I/O utilizzato da altre distribuzioni Linux, fare riferimento alla relativa documentazione.

Pianificatori supportati

Amazon Linux supporta i seguenti I/O programmi di pianificazione:

  • deadline— Lo I/O scheduler Deadline ordina le I/O richieste e le gestisce nell'ordine più efficiente. Garantisce un orario di inizio per ogni I/O request. It also gives I/O richiesta rimasta in sospeso per troppo tempo e una priorità più alta.

  • cfq— Lo I/O scheduler Completely Fair Queueing (CFQ) tenta di I/O resources between processes. It sorts and inserts I/O allocare equamente le richieste nelle code per processo.

  • noop— Le I/O scheduler inserts all I/O richieste No Operation (noop) vengono inserite in una coda FIFO e poi le unisce in un'unica richiesta. Questo pianificatore non esegue l'ordinamento delle richieste.

Pianificatore di default

No Operation (noop) è lo I/O scheduler predefinito per Amazon Linux. Questo pianificatore viene utilizzato per i seguenti motivi:

  • Molti tipi di istanza utilizzano dispositivi virtualizzati in cui l'host sottostante esegue la pianificazione dell'istanza.

  • I dispositivi a stato solido vengono utilizzati in molti tipi di istanze in cui i vantaggi di uno I/O scheduler hanno un impatto minore.

  • È lo I/O scheduler meno invasivo e può essere personalizzato se necessario.

Modifica del pianificatore

La modifica dello I/O scheduler può aumentare o diminuire le prestazioni a seconda che lo scheduler comporti il completamento di un numero maggiore o minore di I/O richieste in un determinato periodo di tempo. Ciò dipende in gran parte dal carico di lavoro, dalla generazione del tipo di istanza utilizzata e dal tipo di dispositivo a cui si accede. Se modifichi lo scheduler di I/O utilizzato, ti consigliamo di utilizzare uno strumento, come iotop, per misurare I/O le prestazioni e determinare se la modifica è vantaggiosa per il tuo caso d'uso.

È possibile visualizzare lo I/O scheduler di un dispositivo utilizzando il seguente comando, che utilizza come esempio. nvme0n1 Sostituisci nvme0n1 nel seguente comando con il dispositivo elencato in /sys/block nell'istanza.

$ cat /sys/block/nvme0n1/queue/scheduler

Per impostare lo I/O scheduler per il dispositivo, utilizzare il seguente comando.

$ echo cfq|deadline|noop > /sys/block/nvme0n1/queue/scheduler

Ad esempio, per impostare lo I/O scheduler per un xvda dispositivo dal noop alcfq, utilizzate il comando seguente.

$ echo cfq > /sys/block/xvda/queue/scheduler