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.
Entwicklung
Hochleistungs-Webserver