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

Details der MySQL-Berechnungsfunktion

Inhaltsverzeichnis 2. Feldverkettung 2. Geben Sie...

Grundlegende Hinweise zu HTML (empfohlen)

1. Grundstruktur der Webseite: XML/HTML-CodeInhal...

Zwei Möglichkeiten, den 30-Sekunden-Werbecode aus dem Youku-Video zu entfernen

Ich glaube, jeder kennt dieses Gefühl: Ein Video m...

Grundlagen der HTML-Bearbeitung (ein Muss für Anfänger)

Öffnen Sie DREAMWEAVER und erstellen Sie ein neue...

Führen Sie die Schritte zum Upgrade von Nginx http auf https aus.

Der Unterschied zwischen http und https ist Bei m...

Allgemeiner Hinweis zum MySQL-Ereignisplaner (unbedingt lesen)

Überblick MySQL verfügt auch über einen eigenen E...

Installations-Tutorial für mysql8.0rpm auf centos7

Laden Sie zunächst das Diagramm herunter 1. Deins...

VM VirtualBox virtuelle Maschine mounten freigegebenen Ordner

Eine Umgebung Installieren Sie VMware Tools auf C...

Detaillierte Erklärung der Linux-Systemverzeichnisse sys, tmp, usr, var!

Der Wachstumspfad vom Linux-Neuling zum Linux-Mei...