Nginx führt Anforderungsverbindungen zusammen und beschleunigt den Website-Zugriff – Beispiele

Nginx führt Anforderungsverbindungen zusammen und beschleunigt den Website-Zugriff – Beispiele

Vorwort

Als einer der besten Webserver der Welt liegen die Vorteile von Nginx auf der Hand. Lassen Sie uns darüber sprechen, wie Nginx Anforderungsverbindungen zusammenführt.

Schnelle Fakten

Ein wichtiger Faktor, der die Browsing-Geschwindigkeit beim Surfen im Internet beeinflusst, ist die Anzahl gleichzeitig verwendeter Browser. Einfach ausgedrückt ist die Anzahl der gleichzeitigen Aufgaben die Anzahl der Aufgaben, die beim Durchsuchen einer Webseite gleichzeitig ausgeführt werden.

Natürlich gilt das Limit für gleichzeitige Anfragen des Browsers für denselben Domänennamen. Es gibt eine bestimmte Begrenzung für die Anzahl gleichzeitiger Anfragen unter demselben Domänennamen. Anfragen, die das Limit überschreiten, werden blockiert.

Schauen wir uns zunächst die Anzahl der gleichzeitigen Verbindungen für jeden Browser an:

Listen Sie die möglichen Überlegungen auf, die der Browser bei dieser Entscheidung berücksichtigen sollte

  • Aufgrund der Beschränkungen des TCP-Protokolls stehen dem PC nur 65536 Ports für externe Verbindungen zur Verfügung. Außerdem begrenzt das Betriebssystem die Anzahl halboffener Verbindungen, um zu verhindern, dass die TCPIP-Protokollstapelressourcen des Betriebssystems schnell erschöpft werden. Daher sollte der Browser nicht zu viele TCP-Verbindungen herstellen. Stattdessen sollte er die TCP-Verbindung wiederverwenden, nachdem sie aufgebraucht ist, oder die TCP-Verbindung einfach wiederherstellen.
  • Wenn zum Herstellen einer Verbindung ein blockierendes Socket-Modell verwendet wird, führt das gleichzeitige Ausgeben mehrerer Verbindungen dazu, dass der Browser mehrere Threads öffnen muss. Threads gelten manchmal nicht als leichtgewichtige Ressourcen. Schließlich sind die Kosten eines Kontextwechsels nicht gering.
  • Dabei fungiert der Browser als gewissenhafter Client, um den Server zu schützen. Genau wie beim Kollisionserkennungsmechanismus von Ethernet muss der Client bei der Verwendung öffentlicher Ressourcen selbst eine Wartezeit festlegen. Wenn mehr als zwei Clients öffentliche Ressourcen verwenden möchten, kann es sein, dass der stärkere böse Client dazu führt, dass die schwächeren Clients überhaupt nicht auf die öffentlichen Ressourcen zugreifen können. Xunlei wurde in der Vergangenheit kritisiert, weil er kein gewissenhafter Client war. Als HTTP-Protokoll-Client berücksichtigte er nicht den Druck auf den Server und als BT-Client beachtete er nicht seine Verpflichtung, das Upload-Volumen zurückzumelden.

Taobao-Maschine

Wenn wir einige Websites besuchen, werden wir feststellen, dass einige JS- und CSS-Dateien im Code durch eine einzige Anforderung abgerufen werden. Das obige Wissen zeigt, dass die Anzahl gleichzeitiger Browseranforderungen begrenzt ist. Wenn jedoch mehrere Datensätze zu einer Anforderung zusammengeführt werden, kann die Antwortgeschwindigkeit beschleunigt werden.

Die von Taobao verwendete Tengine ist ein auf Nginx basierender Webserver, der seit Ende 2011 Open Source ist. Das Open-Source-Modul nginx-http-concat kann mehrere Dateien zu einer Antwortnachricht zusammenführen.

Installieren

Erstmalige Installation des Drittanbietermoduls nginx-http-concat

wget http://tengine.taobao.org/download/tengine-2.2.0.tar.gz
wget https://github.com/alibaba/nginx-http-concat/archive/master.zip -O nginx-http-concat-master.zip
entpacken Sie nginx-http-concat-master.zip
tar -xzvf tengine-2.2.0.tar.gz
CD tengine-2.2.0

Konfiguration, Kompilierung und Installation

 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=../nginx-http-concat-master
 machen
 installieren

Wenn Nginx bereits installiert ist, konfigurieren Sie einfach das Drittanbieter-Plugin. Nginx -V, überprüfen Sie die Version von Nginx. Wenn sie nicht verfügbar ist, laden Sie die entsprechende Version herunter.

Führen Sie einfach den Code aus.

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=../nginx-http-concat-master
machen

Nach erfolgreicher Kompilierung

#Bitte sichern Sie die ausführbare Nginx-Datei vor dem Kopieren von cp /objs/nginx /usr/local/nginx/sbin/nginx

Beenden Sie Nginx und starten Sie es neu.

Konfiguration

Fügen Sie dem Standortabschnitt die folgende Konfiguration hinzu:

Standort /static/css/ {
  Verkettung an;
  concat_max_dateien 20;
  concat_unique aus;
  concat_types Text/CSS-Anwendung/Javascript;
}

Merge-Methode

http://static.52itstyle.com/static/css/??index.css,common.css?v=20171111

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Beschleunigen Sie die Nginx-Leistung: Aktivieren Sie GZIP und Cache
  • Detaillierte Erläuterung der Konfiguration von Nginx zum Abrufen der Benutzer-IP bei Verwendung der CDN-Beschleunigung
  • Konfigurationsmethode für die Nginx-Cache-Beschleunigung unter WIN
  • Verwenden Sie das Modul nginx-http-concat, um statische Ressourcendateien in nginx zusammenzuführen
  • Lösung für die unbekannte Direktive, die aufgrund von Problemen mit der Nginx-Konfigurationsdatei nicht geöffnet werden kann

<<:  Fassen Sie die Probleme zusammen, die bei der Verwendung der Vue Element-Benutzeroberfläche auftreten

>>:  Lösung für das Problem, dass MySQL im Windows-System kein Chinesisch eingeben und anzeigen kann

Artikel empfehlen

Implementierung einer coolen 3D-Würfeltransformationsanimation in CSS3

Ich liebe das Programmieren, es macht mich glückl...

So erzielen Sie mit CSS einen Daten-Hotspot-Effekt

Die Wirkung ist wie folgt: analysieren 1. Hier se...

Einführung in die gängigen Festplattenverwaltungsbefehle von Linux

Inhaltsverzeichnis 1. df-Befehl 2. du-Befehl 3. B...

Der gesamte Prozess der Konfiguration von Hive-Metadaten für MySQL

Gehen Sie im Hive-Installationsverzeichnis in das...

Detaillierte Verwendung des Vue More Filter-Widgets

In diesem Artikelbeispiel wird die Implementierun...

Vue realisiert den Fortschrittsbalken-Änderungseffekt

Dieser Artikel verwendet Vue, um einfach die Ände...

Anweisungen zum Erlernen von Vue

Inhaltsverzeichnis 1. v-Text (v-Befehlsname = „Va...

JavaScript-Webformularfunktion Kommunikation voller praktischer Informationen

1. Einleitung Vorher haben wir über das Front-End...

Detaillierte Erläuterung der JavaScript-Implementierung der Hash-Tabelle

Inhaltsverzeichnis 1. Hash-Tabellenprinzip 2. Das...

Der Unterschied zwischen HTML Empty Link href="#" und href="javascript:void(0)"

# enthält eine Standortinformation. Der Standardan...

Tutorial zum Erstellen eines CA-Zertifikats unter Linux Centos8

Installieren der erforderlichen Dateien Yum insta...