Der HTTP-Server hinsightd wurde vorgestellt, der das Linux-Subsystem io_uring verwendet.

Ein kompakten HTTP-Server namens hinsightd wurde veröffentlicht, der sich durch die Nutzung der im Linux-Kernel bereitgestellten Schnittstelle für asynchrone Eingabe/Ausgabe io_uring auszeichnet. Der Server unterstützt das Protokoll HTTP/1.1 und wurde für einen niedrigen Ressourcenverbrauch konzipiert, während er gleichzeitig eine gefragte Funktionalität bietet. Beispielsweise unterstützt hinsightd TLS, Reverse-Proxying (rproxy), das Caching dynamisch generierter Inhalte im lokalen Dateisystem, On-the-Fly-Datenkompression, unterbrechungsfreies Neustarten von bestehenden Verbindungen und die Anbindung dynamischer Anforderungsbearbeiter über die Mechanismen FastCGI und CGI. Der Projektcode ist in C geschrieben und wird unter der BSD-Lizenz verbreitet.

Für die Verarbeitung von Konfigurationen, das Schreiben von Erweiterungen und die Erstellung von Anforderungsbearbeitern besteht die Möglichkeit, die Programmiersprache Lua zu verwenden, wobei solche Bearbeiter direkt in der Datei definiert werden können. Serverkonfiguration.. Die Plugin-Form bietet Funktionen wie die Änderung des Log-Formats, die Bindung einzelner Logs an virtuelle Hosts, die Definition von Lastverteilungsstrategien, HTTP-Authentifizierung, URL-Umleitungen und die Durchführung geplanter Aufgaben (z. B. das Aktualisieren von Let's Encrypt-Zertifikaten).

Zusammen mit dem Server durch wird eine Bibliothek zur Integration der Funktionen von hinsightd in Ihre Anwendungen bereitgestellt. Hinsightd enthält auch integrierte Funktionen, um HTTP-Anfragen über die Kommandozeile zu senden; beispielsweise kann man mit dem Befehl „hinsightd -d URL“ eine Seite abrufen. Der Server ist sehr kompakt und benötigt in kompiliertem Zustand etwa 200 KB (100 KB ausführbare Datei und 100 KB Shared Library). Unter den externen Abhängigkeiten sind nur libc, lua, liburing und zlib sowie optional openssl/libressl und ffcall erforderlich.

In den Plänen für die Weiterentwicklung wird die Möglichkeit erwähnt, komprimierte Dateien im Cache zu speichern, Sandbox-Isolierung durch die Filterung von Systemaufrufen und die Verwendung von Namensräumen, Steuerung der Bandbreite (Traffic Shaping), Mehrprozess-Handling, verbesserte Fehlerbehandlung und die Definition von virtuellen Hosts auf Basis von Masken.

Ergebnisse der synthetischen Leistungstests (ohne Optimierungen in der Konfiguration) mit dem Tool ab unter Verwendung von 250 und 500 (in Klammern) parallelen Anfragen („ab -k -c 250 -n 10000 http://localhost/“):

  • hinsightd/0.9.17 – 63035,01 Anfragen pro Sekunde (54984,63)
  • lighttpd/1.4.67 – 53693,29 Anfragen pro Sekunde (1613,59)
  • Apache/2.4.54 – 37474,10 Anfragen pro Sekunde (34305,55)
  • Caddy/2.6.2 – 35412,02 Anfragen pro Sekunde (33995,57)
  • nginx/1.23.2 – 26673,64 Anfragen pro Sekunde (26172,73)

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster