Warum ist der TUX Web Server tot? Wird Nginx / Lighttpd / Epoll / Kqueue ersetzt?

8

Ich erinnere mich an ein sehr schnelles Kernel-Modul für Linux mit dem Namen "TUX" für statische Dateien, mit dem ich die Leistung der Web-Serving-Leistung von IIS bei der statischen Web-Datei von IIS beantworten und das "C10K-Problem" lösen kann. Jetzt sehe ich weiter:

  1. Nginx
  2. Lighttpd
  3. CDNs

... für "schnelle statische Dateibereitstellung" Die schnelle Bereitstellung statischer Dateien ist nicht schwierig, wenn Ihr Betriebssystem über die richtigen Funktionen verfügt. Windows hat seit der Erfindung IO Completion Ports, überlappende I / O, etc.

Ist Tux wegen der Sicherheitsauswirkungen gestorben? War es ein Experiment, dass Kqueue / Epoll mit Features wie Sendfile veraltete? Was ist die beste Lösung, um 100% statischen Inhalt zu liefern - sagen Sie Packshots von etwa 50 Bildern, um einen "Flipbook" -Film zu simulieren.

Ich verstehe das unter anderem "Server-bezogene" Frage, aber es ist auch theoretisch. Wenn es rein statisch ist, wird ein CDN wirklich besser sein?

    
Jaimie Sirovich 15.11.2013, 00:25
quelle

3 Antworten

3

Vor allem, weil Ingo Molnár aufgehört hat, daran zu arbeiten. Warum? Ich glaube, es war, weil die Kernel-Version 2.2 den Aufruf sendfile(2) implementiert hat, der übereinstimmte (ungefähr ) die massiven Leistungsvorteile, die zuvor von Tux erzielt wurden. Beachten Sie, dass das Tux 2.0-Referenzhandbuch 2001 datiert ist.

    
Elliott Frisch 08.12.2013 11:48
quelle
1

Das Bereitstellen einer statischen Datei erfolgt in drei Schritten: Entscheiden Sie, welche Datei gesendet werden soll, entscheiden Sie, ob die Datei gesendet werden soll oder senden Sie die Datei. Jetzt hat Tux die Datei wirklich gut gesendet, also entschieden, welche Datei zu senden ist, und eine miese Aufgabe, zu entscheiden, ob eine Datei gesendet werden soll. Die Entscheidungen sind Sache der Politik und sollten im Benutzerraum erfolgen. Add sendfile und ich kann in kurzer Zeit einen Server schreiben, der fast so gut wie tux ist, und Dinge hinzufügen, ohne meinen Kernel neu kompilieren zu müssen. vielleicht SQL-Protokollierung. Wenn ich nur an die SQL-Aufrufe von Userspace denke, die ich von einem Kernel mache, wird mein Auge zucken.

    
hildred 08.12.2013 16:06
quelle
1

Tux wird aufgrund sendfile () nicht mehr benötigt. Nginx nutzt dies voll aus und IMO ist einer der besten Webserver für statische oder nicht-statische Inhalte. Ich habe Speicherprobleme mit lighttpd gefunden, ymmv.

Der Hauptzweck von CDNs besteht darin, dass der "Webserver" näher an den Browser des Endbenutzers gerückt wird. Dies bedeutet weniger Netzwerk-Hops und weniger Rundlaufverzögerung, ohne dass es für Sie kosten würde, mehrere Webserver auf der ganzen Welt zu hosten und Geo-DNS zu verwenden, um den Benutzer an den nächsten zu senden. Seien Sie sich darüber im Klaren, dass diese Webserver, da sie nicht von Ihnen kontrolliert werden, überlastet werden könnten und der Vorteil von weniger Hops verringert werden könnte, wenn ihr Netzwerk überlastet ist. CDNs sind normalerweise Ziele von DDOS-Angriffen und Sie könnten sich in etwas verfangen, das nichts mit Ihren Inhalten zu tun hat.

    
None 08.12.2013 22:54
quelle