Cero llamadas al sistema: Creando un servidor web de alto rendimiento con io_uring

2025-08-22

Este artículo detalla la evolución de la creación de servidores web de alto rendimiento, desde el pre-forking inicial hasta select/poll, luego epoll, y finalmente logrando cero llamadas al sistema usando io_uring. El autor desarrolló un servidor web experimental llamado tarweb que utiliza io_uring para agregar asincrónicamente todas las operaciones a una cola del kernel, evitando así la sobrecarga de las frecuentes llamadas al sistema. Combinado con kTLS y archivos sin descriptores, se logran mejoras adicionales de rendimiento. Si bien aún existen desafíos, como la gestión de memoria y las preocupaciones de seguridad de io_uring, el proyecto demuestra el potencial para obtener ganancias significativas de rendimiento en escenarios de alta concurrencia.