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

Mit CSS3 implementierter Gradienten-Folieneffekt

Ergebnisse erzielen Code html <div Klasse=&quo...

So veröffentlichen Sie ein lokal erstelltes Docker-Image auf Dockerhub

Heute zeigen wir Ihnen, wie Sie das lokale Docker...

Kann Asynchronität in JavaScript „Await“ speichern?

Ich wusste vorher, dass man await verwenden muss,...

Detaillierte Erklärung zum Anzeigen der MySQL-Speichernutzung

Vorwort Dieser Artikel stellt hauptsächlich die r...

Der Unterschied und die Verwendung von LocalStorage und SessionStorage in Vue

Inhaltsverzeichnis Was ist LocalStorage Was ist S...

Es ist Jahresende, ist Ihr MySQL-Passwort sicher?

Vorwort: Das Jahr neigt sich dem Ende zu. Ist es ...

Beispiele für ES6-Schleifen und iterierbare Objekte

Dieser Artikel untersucht die ES6-for...of-Schlei...

So stellen Sie ein Angular-Projekt mit Docker bereit

Es gibt zwei Möglichkeiten, Angular-Projekte mit ...

So ändern Sie die Ubuntu-Quellliste (Quellliste) - detaillierte Erklärung

Einführung Die Standardquelle von Ubuntu ist kein...

Erläuterung zum Erstellen der Graphdatenbank neo4j in einer Linux-Umgebung

Neo4j (eines der NoSQL-Modelle) ist eine leistung...

Deaktivieren Sie die IE-Bildsymbolleiste

Ich habe es gerade auf IE6 ausprobiert und die Sym...

Nginx verwendet den Gzip-Algorithmus zum Komprimieren von Nachrichten

Was ist HTTP-Komprimierung Manchmal werden relati...