Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Programador de E/S para AL2
El I/O scheduler is a part of the Linux operating system that sorts and merges I/O solicita y determina el orden en el que se procesan.
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/OLos programadores tienen un efecto menor en los dispositivos de estado sólido y en los entornos virtualizados. Esto se debe a que para los dispositivos de estado sólido, el acceso secuencial y aleatorio no difiere, y para los entornos virtualizados, el host proporciona su propia capa de programación.
En este tema se describe el I/O programador de Amazon Linux. Para obtener más información sobre el programador de E/S utilizado por otras distribuciones de Linux, consulte su documentación respectiva.
Programadores admitidos
Amazon Linux admite los siguientes I/O programadores:
-
deadline— El I/O programador de fechas límite clasifica I/O las solicitudes y las gestiona en el orden más eficiente. Garantiza una hora de inicio para cada I/O request. It also gives I/O solicitud que haya estado pendiente durante demasiado tiempo y tiene mayor prioridad. -
cfq— El I/O programador Completely Fair Queueing (CFQ) intenta asignar las I/O resources between processes. It sorts and inserts I/O solicitudes de manera justa en colas por proceso. -
noop— Las I/O scheduler inserts all I/O solicitudes de No Operation (noop) forman una cola FIFO y, a continuación, las fusiona en una sola solicitud. Este programador no ordena ninguna solicitud.
Programador predeterminado
No Operation (noop) es el I/O programador predeterminado de Amazon Linux. Este programador se utiliza por las razones siguientes:
-
Muchos tipos de instancia utilizan dispositivos virtualizados en los que el host subyacente realiza la programación de la instancia.
-
Los dispositivos de estado sólido se utilizan en muchos tipos de instancias en los que las ventajas de un I/O programador tienen menos efecto.
-
Es el I/O programador menos invasivo y se puede personalizar si es necesario.
Cambiar el programador
Cambiar el I/O programador puede aumentar o disminuir el rendimiento en función de si el programador hace que se completen más o menos I/O solicitudes en un tiempo determinado. Esto depende en gran medida de la carga de trabajo, de la generación del tipo de instancia que se está utilizando y del tipo de dispositivo al que se accede. Si cambia el programador de E/S que está utilizando, le recomendamos que utilice una herramienta, como iotop, para medir el I/O rendimiento y determinar si el cambio es beneficioso para su caso de uso.
Puede ver el I/O planificador de un dispositivo mediante el siguiente comando, que se utiliza nvme0n1 como ejemplo. Reemplace nvme0n1 en el siguiente comando con el dispositivo que aparece en /sys/block en la instancia.
$cat /sys/block/nvme0n1/queue/scheduler
Para configurar el I/O planificador del dispositivo, utilice el siguiente comando.
$echocfq|deadline|noop> /sys/block/nvme0n1/queue/scheduler
Por ejemplo, para configurar el I/O planificador de un xvda dispositivo de noop acfq, usa el siguiente comando.
$echocfq> /sys/block/xvda/queue/scheduler