The HTTP server hinsightd has been introduced, utilizing the Linux io_uring subsystem

A compact HTTP server, hinsightd, has been released, notable for its use of the io_uring asynchronous I/O interface provided in the Linux kernel. The server supports HTTP/1.1 and is designed for low resource consumption while delivering essential functionality. For example, hinsightd supports TLS, reverse proxying (rproxy), caching dynamically generated content in local FS, on-the-fly data compression, seamless restarting without dropping established connections, and connecting dynamic request handlers using FastCGI and CGI mechanisms. The project code is written in C and is distributed under the BSD license.

To handle configuration, write plugins, and create request handlers, there is the option to use the Lua language, with such handlers defined directly in the file. server configurationPlugin capabilities include modifying the log record format, binding specific logs to virtual hosts, defining load balancing strategies, HTTP authentication, URL rewriting, and performing scheduled tasks (such as updating Let’s Encrypt certificates).

Along with proxy server comes a library for integrating hinsightd functions into your applications. Hinsightd also includes built-in functionality for sending HTTP requests from the command line; for example, to fetch a page, you can execute the command 'hinsightd -d URL'. The server is very compact and, when compiled, occupies about 200KB (100KB for the executable and 100KB for the shared library). Among external dependencies are only libc, lua, liburing, and zlib, as well as optionally openssl/libressl and ffcall.

Future development plans mention the possibility of caching compressed files, sandbox isolation based on syscall filtering and the use of namespaces, traffic shaping, multithreading, improved error handling, and virtual host definition based on masks.

Results from synthetic performance testing (without optimizations in the default configuration) using the ab utility with 250 and 500 (in parentheses) concurrent requests ('ab -k -c 250 -n 10000 http://localhost/'):

  • hinsightd/0.9.17 — 63035.01 requests per second (54984.63)
  • lighttpd/1.4.67 — 53693.29 requests per second (1613.59)
  • Apache/2.4.54 — 37474.10 requests per second (34305.55)
  • Caddy/2.6.2 — 35412.02 requests per second (33995.57)
  • nginx/1.23.2 — 26673.64 requests per second (26172.73)

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster