Il post traccia l’evoluzione dei server web scalabili da pre-forking, thread e select/poll fino a epoll.
io_uring permette di accodare operazioni in memoria riducendo drasticamente le system call durante la gestione delle richieste.
Usare un thread per core con binding e isolamento NUMA migliora l’efficienza su hardware multicore.
Preallocare buffer fissi per ogni connessione evita syscalls di allocazione e frammentazione della memoria.
kTLS sposta cifratura/decifratura nel kernel, consentendo l’uso di sendfile() e l’offload hardware su NIC.
I descriptorless files tramite register_files riducono l’overhead dei file descriptor in io_uring.
Il progetto tarweb dimostra un server HTTPS in Rust che opera senza system call per ogni richiesta combinando io_uring e kTLS.
Il crate io-uring manca di controlli di sicurezza sulle buffer, spingendo alla creazione di un crate “safer-ring”.
Get notified when new stories are published for "Hacker News 🇮🇹 Italiano"