NGINX Unit
v. 1.31.0

Key Features§

From the start, our vision for Unit was versatility, speed, and reliability. Here’s how we tackle these goals.

Flexibility§

Performance§

  • Requests are asynchronously processed in threads with efficient event loops (epoll, kqueue).

  • Syscalls and data copy operations are kept to a necessary minimum.

  • 10,000 inactive HTTP keep-alive connections take up only a few MBs of memory.

  • Router and app processes rely on low-latency IPC built with lock-free queues over shared memory.

  • Built-in statistics provide insights into Unit’s performance.

  • The number of per-app processes is defined statically or scales preemptively within given limits.

  • App and instance usage statistics are collected and exposed via the API.

  • Multithreaded request processing is supported for Java, Perl, Python, and Ruby apps.

Security & Robustness§

  • Client connections are handled by a separate non-privileged router process.

  • Low-resource conditions (out of memory or descriptors) and app crashes are handled gracefully.

  • SSL/TLS with SNI, session cache and tickets is integrated (OpenSSL 1.0.1 and later).

  • Different apps are isolated in separate processes.

  • Apps can be additionally containerized with namespace and file system isolation.

  • Static file serving benefits from chrooting, symlink and mount point traversal restrictions.

Supported App Languages§

Unit interoperates with: