Hacker News Digest

22 августа 2025 г. в 03:51 • blog.habets.se • ⭐ 189 • 💬 29

OriginalHN

#io-uring#ktls#rust#https#numa#sendfile#ebpf#aya#nginx

Io_uring, kTLS and Rust for zero syscall HTTPS server

  • История: от pre-fork до epoll — каждый шаг уменьшал сисколлы, но они всё ещё оставались узким местом.
  • io_uring — кольцевые очереди в памяти: сервер пишет команды, ядро асинхронно их выполняет и кладёт результат обратно. При высокой нагрузке strace не покажет ни одного сисколла.
  • 1 поток = 1 ядро без разделяемых структур; память берётся только из локального NUMA-узла.
  • Память: заранее выделяем фиксированный буфер на соединение — без brk/mmap, без фрагментации.
  • kTLS — после рукопожатия шифрование переходит в ядро. Плюсы:
    1. Работает sendfile, данные не копируются в userspace.
    2. Возможно аппаратное ускорение NIC.