Null System Calls: Aufbau eines Hochleistungs-Webservers mit io_uring

2025-08-22

Dieser Artikel beschreibt die Entwicklung beim Aufbau von Hochleistungs-Webservern, von frühem Pre-Forking über select/poll und epoll bis hin zur Erreichung von null System Calls mit io_uring. Der Autor entwickelte einen experimentellen Webserver namens tarweb, der io_uring nutzt, um alle Operationen asynchron zu einer Kernel-Warteschlange hinzuzufügen und so den Overhead häufiger System Calls zu vermeiden. Kombiniert mit kTLS und beschreibungslosen Dateien werden zusätzliche Performance-Verbesserungen erzielt. Obwohl Herausforderungen wie Speicherverwaltung und Sicherheitsbedenken bei io_uring bestehen bleiben, zeigt das Projekt das Potenzial für signifikante Performance-Steigerungen in Szenarien mit hoher Gleichzeitigkeit.