1. Glosario/

I/O Scheduler

Scheduler de I/O Linux

El I/O Scheduler es el componente del kernel Linux que gestiona la cola de solicitudes de lectura y escritura hacia los dispositivos de bloque (discos). Decide el orden de ejecución de las solicitudes para optimizar el throughput y minimizar la latencia.

Cómo funciona #

Linux ofrece varios schedulers: cfq (Completely Fair Queuing, para escritorio), deadline/mq-deadline (para servidores y bases de datos), noop/none (para SSD/NVMe). Para Oracle la recomendación es deadline, que sirve las solicitudes minimizando los seeks del disco. Se configura vía /sys/block/sdX/queue/scheduler y se hace permanente vía GRUB.

Para qué sirve #

El cfq por defecto distribuye el I/O equitativamente entre los procesos — ideal para un escritorio, pésimo para una base de datos que necesita prioridad en las solicitudes I/O críticas. deadline garantiza que ninguna solicitud permanezca en cola demasiado tiempo, reduciendo la latencia de los db file sequential read.

Qué puede salir mal #

Dejar el valor por defecto (cfq o bfq en algunos sistemas) significa que Oracle compite por el I/O con todos los demás procesos del sistema. En un servidor dedicado a la base de datos es un desperdicio: la base de datos debería tener prioridad absoluta en las operaciones de disco.