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

So erhalten Sie Root-Berechtigungen in einem Docker-Container

Zunächst muss Ihr Container laufen Sie können die...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.22 winx64

Das Tutorial zur Datenbankinstallation von MySQL-...

So legen Sie die UTF-8-Kodierung in einer MySQL-Datenbank fest

Ändern Sie die Datei /etc/my.cnf oder /etc/mysql/...

Installieren Sie die MySQL5.5-Datenbank in einer CentOS7-Umgebung

Inhaltsverzeichnis 1. Prüfen Sie, ob MySQL auf de...

MySQL-8.0.26 Konfigurationsgrafik-Tutorial

Vorwort: Vor kurzem hat das Unternehmensprojekt d...

Tutorial zur Installation von phpMyAdmin unter Linux centos7

yum install httpd php mariadb-server –y Notieren ...

Lösungen für MySQL OOM (Speicherüberlauf)

OOM steht für „Out Of Memory“, was so viel bedeut...

25 Beispiele für Website-Design im Nachrichtenstil

bmi Voyager Heugabel Ulster Lebensmittelhändler F...

CSS implementiert die Bottom-Tapbar-Funktion

Viele Mobiltelefone verfügen mittlerweile über di...

So führen Sie geplante PHP-Aufgaben in CentOS7 aus

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