Abo
  • Services:
Anzeige
Sandstorm erreicht 55 GBit/s Datendurchsatz.
Sandstorm erreicht 55 GBit/s Datendurchsatz. (Bild: Universität Cambridge)

Sandstorm Spezial-Webserver ist 3,5-mal schneller als Nginx

Forscher der Universitäten Cambridge und London haben mit Sandstorm einen Webserver entwickelt, der auf die Auslieferung statischer Inhalte optimiert ist. Er ist in Tests dreimal so schnell wie Nginx und erzeugt dabei weniger CPU-Last, so dass er moderne Netzwerkhardware voll ausnutzen kann.

Anzeige

Spezialisierung für mehr Leistung: So lässt sich die Idee von Ilias Marinos und Robert Watson von der Universität Cambidge und Mark Handley vom University College London beschreiben. Aktuelle Netzwerk-Stacks seinen ein "Meisterwerk der Generalität", schrieben die drei, die mit ihrem Webserver Sandstorm zeigen, dass sich durch Spezialisierung die Leistung deutlich steigern lässt. Denn die herkömmlichen Netzwerk-Stacks basieren alle auf Code, der Anfang der 90er Jahre entstand.

Dieser wurde auf Basis des Netmap-Frameworks von FreeBSD entwickelt, das den Pufferspeicher der Netzwerk-Interfaces direkt in den Userspace mappt. Sandstorm ist ausschließlich dafür ausgelegt, statische Dateien auszuliefern. Und das soll Sandstorm deutlich schneller können als herkömmliche Webserver. Nach Ansicht der Forscher ist für solche Server in Systemlandschaften mit hunderten oder tausenden Servern, die spezielle Aufgaben übernehmen, ausreichend Platz. So könnten Server wie Sandstorm beispielsweise eingesetzt werden, um Bilder oder statische Inhalte aus einem Cache auszuliefern.

Es sind vor allen drei Dinge die Sandstorm schneller machen sollen als herkömmliche Webserver wie Nginx, die schon heute diverse Optimierungen nutzen, um statische Inhalte sehr schnell und mit geringer CPU-Last auszuliefern. Erstens haben die drei Forscher einen kompletten Zerocopy-Stack umgesetzt, so dass das Senden der Daten sehr effizient erfolgt. Das bezieht sich nicht nur auf Daten, die das Betriebssystem bereitstellt, beispielsweise Dateisystem-Blöcke, sondern umfasst auch HTTP-Header, die von der Applikation bereitgestellt werden.

Zweitens optimieren sie über traditionelle Grenzen hinweg, so dass beispielsweise Code auf Applikationsebene eine Vorabsegmentierung von Daten anfordern kann, um diese mehrfach auszuliefern. Zudem wird extensives Batching genutzt, um den Overhead von Systemaufrufen aus dem Userspace zu reduzieren.

Drittens ist die Implementierung synchron, ausgehend von empfangenen Paketen was das Caching verbessern und die Latenz beim Senden des ersten Antwort-Pakets minimieren soll. Dabei wird auf Queues und das Zwischenspeichern von Daten verzichtet.

Vorgefertigte Pakete

Letztendlich lädt Sandstorm eine statische Datei in den Speicher, generiert daraus alle Pakete, die gesendet werden müssen, um sie zu übertragen, einschließlich TCP, IP und Link-Layer-Headern. Wird die Datei angefragt, muss der Server nur noch TCP-Protokoll-Control-Blocks (TCB) anfordern, um den Status der Verbindung zu überwachen, die eigentlichen Pakete, die er senden muss, liegen aber schon fertig vor. Die Pakete werden dann direkt per Netmap an das Netzwerk-Interface gesendet.

3,5 Mal mehr Durchsatz als Nginx

Die Forscher haben ihre Implementierung gegen Nginx unter FreeBSD und Linux getestet, einmal auf alter Hardware (zwei Xeon X5355, Intels Netzwerkkarte 82598EB Dual Port 10GbE und 8 GByte RAM) mit Linux 3.6.7 und FreeBSD 9-Stable und einmal auf moderner Hardware (Xeon E5-2643 mit vier Kernen, 128 GByte RAM und drei Intel-Netzwerkkarte vom Typ 82599EB 10GbE) mit Linux 3.10.10 und FreeBSD 10-Current mit speziellen Patches von Netflix zur Optimierung von sendfile().

Auf alter Hardware erreicht Sandstorm bei zwei gleichzeitigen Verbindungen einen um rund 35 Prozent höheren Datendurchsatz. Mit steigender Zahl gleichzeitiger Verbindungen hat Sandstorm größere Vorteile. Allerdings ist es nicht möglich, die eine Netzwerkkarte mit kleinen Dateien auszulasten. Das gelingt erst bei Dateigrößen ab etwa 100 KByte.

Interessanter sind die Ergebnisse auf der modernen Hardware, die Data Direct I/O unterstützt und somit DMA-Zugriffe über PCIe von der Netzwerkkarte direkt auf den Last-Level Cache (LLC) des Prozessors zulässt. Sandstorm kann dadurch eine einzelne 10-Gigabit-Ethernet-Karte bei nur 13 Prozetn CPU-Last vollständig ausnutzen, skaliert linear bis zu sechs Netzwerkkarten und erreicht damit einen Datendurchsatz von 55 GBit/s bei 73 Prozent CPU-Last. Die konventionellen Stacks kommen den Forschern zufolge nicht über 16 GBit/s bei vier Netzwerkkarten.


eye home zur Startseite
am (golem.de) 13. Dez 2013

Das Forum basiert auf http://www.phorum.org/, allerdings haben wir daran mittlerweile...

boiii 12. Dez 2013

Das Vorschaubild ist leider immer nur als kleine Ansicht verfügbar. Es gibt sogar noch...

Gunah 12. Dez 2013

Das nginx langsamer ist als manche andere was Statische Dateien angeht ist doch...



Anzeige

Stellenmarkt
  1. über HRM CONSULTING GmbH, Konstanz (Home-Office)
  2. DRÄXLMAIER Group, Vilsbiburg bei Landshut
  3. STAHLGRUBER GmbH, Poing, Raum München
  4. WKM GmbH, München


Anzeige
Top-Angebote
  1. (u. a. Laptops, Werkzeuge, Outdoor-Spielzeug, Grills usw.)
  2. (u. a. Bose Soundlink Mini Bluetooth Speaker II 149,90€, Bose SOUNDSPORT PULSE WIRELESS 174,90€)

Folgen Sie uns
       


  1. ZTE

    Chinas großes 5G-Testprojekt läuft weiter

  2. Ubisoft

    Far Cry 5 bietet Kampf gegen Sekte in und über Montana

  3. Rockstar Games

    Waffenschiebereien in GTA 5

  4. Browser-Games

    Unreal Engine 4.16 unterstützt Wasm und WebGL 2.0

  5. Hasskommentare

    Bundesrat fordert zahlreiche Änderungen an Maas-Gesetz

  6. GVFS

    Windows-Team nutzt fast vollständig Git

  7. Netzneutralität

    Verbraucherschützer wollen Verbot von Stream On der Telekom

  8. Wahlprogramm

    SPD fordert Anzeigepflicht für "relevante Inhalte" im Netz

  9. Funkfrequenzen

    Bundesnetzagentur und Alibaba wollen Produkte sperren

  10. Elektromobilität

    Qualcomm lädt E-Autos während der Fahrt auf



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Yodobashi und Bic Camera: Im Rausch der Netzwerkkabel
Yodobashi und Bic Camera
Im Rausch der Netzwerkkabel
  1. Sicherheitslücke Fehlerhaft konfiguriertes Git-Verzeichnis bei Redcoon
  2. Preisschild Media Markt nennt 7.998-Euro-Literpreis für Druckertinte

In eigener Sache: Die Quanten kommen!
In eigener Sache
Die Quanten kommen!
  1. id Software "Global Illumination ist derzeit die größte Herausforderung"
  2. In eigener Sache Golem.de führt kostenpflichtige Links ein
  3. In eigener Sache Golem.de sucht Marketing Manager (w/m)

Vernetzte Hörgeräte und Hearables: Ich filter mir die Welt widdewiddewie sie mir gefällt
Vernetzte Hörgeräte und Hearables
Ich filter mir die Welt widdewiddewie sie mir gefällt
  1. Polar Fitnesstracker A370 mit Tiefschlaf- und Pulsmessung
  2. The Dash Pro Bragis Drahtlos-Ohrstöpsel können jetzt auch übersetzen
  3. Beddit Apple kauft Schlaf-Tracker-Hersteller

  1. Re: Noch ein Argument

    plutoniumsulfat | 19:04

  2. Diese ganzen Online DLCs nerven langsam!

    christi1992 | 18:58

  3. Re: Volumenbegrenzungen abschaffen

    amagol | 18:57

  4. Re: Riesenerfolg von GTA 5 Online

    TC | 18:56

  5. Dann soll man doch bitte o2 free abschaffen

    TodesBrote | 18:56


  1. 17:40

  2. 16:40

  3. 16:29

  4. 16:27

  5. 15:15

  6. 13:35

  7. 13:17

  8. 13:05


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel