1. Foren
  2. Kommentare
  3. Internet
  4. Alle Kommentare zum Artikel
  5. › Igor Sysoev: Nginx wird zum…

Ähem: Asynchron ohne Threads?

Das Wochenende ist fast schon da. Zeit für Quatsch!
  1. Thema

Neues Thema Ansicht wechseln


  1. Ähem: Asynchron ohne Threads?

    Autor: jkow 19.07.11 - 10:15

    > Anders als traditionelle Webserver setzt Nginx nicht auf Threads, um Anforderungen zu verarbeiten. Stattdessen kommt eine gut skalierende, ereignisbasierte und damit asynchrone Architektur zum Einsatz.

    Hier kann man sich natürlich fragen, was ein traditioneller Webserver sein soll und warum dieser auf Threads setzen sollte (Apache setzte traditionell auf mehrere Prozesse und erst "jüngst" auf Threads).

    Vor allem aber fragte ich mich, wie Nginx denn asynchron die Anforderungen abarbeiten möchte, ohne Threads zu verwenden. "Ereignisbasiert"? Ja klar.. und wer arbeitet die Ereignisse dann asynchron ab?

    Daher habe ich mir mal kurz die Nginx Quellen runtergeladen und siehe da:
    find -name "*.c" -exec grep -nH "pthread_create" {} \;
    liefert:
    ./os/unix/ngx_pthread_thread.c:30: err = pthread_create(tid, &thr_attr, func, arg);

    Es werden also durchaus Threads verwendet. pthread_create() wird nur durch ngx_create_thread() gewrappt und diese wird dann in ngx_worker_process_cycle() verwendet, um mehrere Worker-Threads zu erstellen.

    Es gibt auch die Möglichkeit, Nginx ohne Threads zu compilieren, dann werden aber anscheinend Worker-Prozesse verwendet - ganz toll, weil Prozesse gegenüber Threads ja so viel weniger Overhead bedeuten. Das ist wohl eher ein Stabilitätsfeature: Wenn ein Worker-Prozess abschmiert, kann man ihn leichter neustarten, als wenn ein Thread und damit auch der Master abschmiert.

    Der Autor des Artikels meinte vielleicht, dass im Unterschied zu manch anderem Webserver nicht für jedes Request ein extra Thread erstellt wird, aber das bedeutet letztlich nur einen Verlust an Asynchronität. Das muss nicht schlecht sein, aber es ist dann schon verwirrend, wenn Asynchronität als besonderes Feature der "ereignisbasierten" Architektur hervorgehoben wird.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. MorphoSys AG, Planegg
  2. M-net Telekommunikations GmbH, München
  3. Versorgungseinrichtung der Bezirksärztekammer Koblenz, Koblenz
  4. Stadt Frankfurt am Main, Frankfurt am Main Innenstadt

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. (u. a. XFX Radeon RX 6800 QICK319 BLACK Gaming 16GB für 949€)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Bill Gates: Mit Technik gegen die Klimakatastrophe
Bill Gates
Mit Technik gegen die Klimakatastrophe

Bill Gates' Buch über die Bekämpfung des Klimawandels hat Schwächen, es lohnt sich aber trotzdem, dem Microsoft-Gründer zuzuhören.
Eine Rezension von Hanno Böck

  1. Microsoft-Gründer Bill Gates startet Podcast

Wissen für ITler: 11 tolle Tech-Podcasts
Wissen für ITler
11 tolle Tech-Podcasts

Die Menge an Tech-Podcasts ist schier unüberschaubar. Wir haben ein paar Empfehlungen, die die Zeit wert sind.
Von Dennis Kogel


    AfD und Elektroautos: Herr, lass Hirn vom Himmel regnen!
    AfD und Elektroautos
    "Herr, lass Hirn vom Himmel regnen!"

    Der AfD-Abgeordnete Marc Bernhard hat im Bundestag gegen die Elektromobilität gewettert. In seiner Rede war kein einziger Satz richtig.
    Eine Analyse von Friedhelm Greis

    1. Nach Börsengang Lucid plant Konkurrenz für Teslas Model 3
    2. Econelo M1 Netto verkauft Elektro-Kabinenroller für 5.800 Euro
    3. Laden von E-Autos Spitzentreffen zu möglichen Engpässen im Stromnetz