Der HTTP-Server hinsightd verwendet die Linux-Subsystem io_uring

Ein kompakter HTTP-Server namens hinsightd wurde veröffentlicht, der durch die Verwendung des im Linux-Kernel bereitgestellten asynchronen I/O-Interfaces io_uring bemerkenswert ist. Der Server unterstĂŒtzt das Protokoll HTTP/1.1 und ist so konzipiert, dass er wenig Ressourcen verbraucht und gleichzeitig die geforderte FunktionalitĂ€t bereitstellt. Zum Beispiel unterstĂŒtzt hinsightd TLS, Reverse Proxying (rproxy), das Caching von dynamisch generierten Inhalten im lokalen FS, die On-the-Fly-Komprimierung der ĂŒbertragenen Daten, den nahtlosen Neustart bereits etablierter Verbindungen und das HinzufĂŒgen dynamischer Anfrage-Handler mittels FastCGI- und CGI-Mechanismen. Der Projektcode ist in C geschrieben und wird unter der BSD-Lizenz veröffentlicht.

Zur Verarbeitung der Konfiguration, zum Schreiben von Erweiterungen und zur Erstellung von Anfrage-Handlern besteht die Möglichkeit, die Programmiersprache Lua zu verwenden, wobei solche Handler direkt in der Datei definiert werden können. Serverkonfiguration hinzugefĂŒgt.Funktionen wie die Änderung des Logformat, das Binden einzelner Logs an virtuelle Hosts, die Definition von Lastverteilungstrategien, HTTP-Authentifizierung, URL-Umschreibung und die DurchfĂŒhrung geplanter Aufgaben zu festgelegten Zeiten (z. B. das Aktualisieren von Let’s Encrypt-Zertifikaten) werden in Form von Plugins bereitgestellt.

Zusammen mit Server Es wird eine Bibliothek zur Integration der Funktionen von hinsightd in eigene Anwendungen geliefert. Hinsightd umfasst auch eine integrierte FunktionalitĂ€t zum Senden von HTTP-Anfragen aus der Befehlszeile; zum Beispiel kann man mit dem Befehl „hinsightd -d URL“ eine Seite laden. Der Server ist sehr kompakt und benötigt in kompilierter Form etwa 200 KB (100 KB ausfĂŒhrbare Datei und 100 KB gemeinsame Bibliothek). Unter den externen AbhĂ€ngigkeiten befinden sich nur libc, lua, liburing und zlib sowie optional openssl/libressl und ffcall.

Bei den PlĂ€nen fĂŒr die zukĂŒnftige Entwicklung wird die Möglichkeit erwĂ€hnt, komprimierte Dateien im Cache zu speichern, Sandbox-Isolation basierend auf der Filterung von Systemaufrufen und der Verwendung von Namespaces zu implementieren, die Bandbreite zu steuern (Traffic Shaping), Multithreading, verbesserte Fehlerbehandlung und die Definition von virtuellen Hosts basierend auf Masken.

Die Ergebnisse der synthetischen Leistungstests (ohne Optimierungen in der Standardkonfiguration) mit dem Tool ab bei der AusfĂŒhrung 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

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster