Heim > Artikel > Betrieb und Instandhaltung > Warum ist Nginx so schnell?
Der Hauptgrund ist, dass Nginx das neueste Netzwerk-E/A-Modell epoll (Linux 2.6-Kernel) und kqueue (freebsd) verwendet.
epoll ist eine Methode zum Multiplexen von IO (I/O-Multiplexing), wird jedoch nur für Linux2.6- und höher-Kernel verwendet. Bevor wir mit der Diskussion dieses Problems beginnen, erklären wir, warum Multiplexing IO erforderlich ist .
Lassen Sie es uns anhand eines Beispiels aus dem Leben erklären.
Angenommen, Sie studieren auf dem College und müssen auf den Besuch eines Freundes warten, und dieser Freund weiß nur, dass Sie sich im Gebäude Nummer A befinden , aber ich weiß nicht genau, wo Sie wohnen, also haben Sie einen Termin für ein Treffen an der Tür von Gebäude A vereinbart.
Wenn Sie das blockierende IO-Modell verwenden, um dieses Problem zu lösen, können Sie nur warten Ständig in Gebäude A warten. Während dieser Zeit können Sie nichts anderes tun. Es ist nicht schwer zu wissen, dass die Effizienz dieser Methode gering ist > Jetzt haben sich die Zeiten geändert und das IO-Modell wird verwendet, um dieses Problem zu lösen. Sie sagen Ihrem Freund, er solle zu Gebäude A kommen und Ihnen sagen, wie es weitergeht Die Rolle von Multiplex-IO.
Erklären Sie den Unterschied zwischen dem Select- und dem Epoll-Modell weiter.
Was die Tante der Select-Version tut, ist wie folgt: Wenn zum Beispiel der Freund von Klassenkamerad A kommt, wird der Select Die Tante der Version ist dumm und nimmt ihre Freunde mit von Raum zu Raum, um zu überprüfen, wer wer ist. Es ist Klassenkamerad A. Der Freund, auf den Sie gewartet haben, ist angekommen, daher macht die Tante der ausgewählten Version im eigentlichen Code Folgendes:
In epoll ist die Schlüsseldatenstruktur epoll_event wie folgt definiert:
Weitere technische Artikel zum Thema Nginx finden Sie in der Spalte
Nginx-Tutorial
, um mehr zu erfahren!
Das obige ist der detaillierte Inhalt vonWarum ist Nginx so schnell?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!