Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in PHP-Optimierungslösungen für hohe Parallelität und großen Datenverkehr

Einführung in PHP-Optimierungslösungen für hohe Parallelität und großen Datenverkehr

不言
不言nach vorne
2019-01-23 09:44:094315Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in Optimierungslösungen für hohe Parallelität und großen Datenverkehr. Ich hoffe, dass er für Freunde hilfreich ist.

1 Das Konzept der hohen Parallelität

Im Internetzeitalter beziehen sich Parallelität und hohe Parallelität normalerweise auf gleichzeitigen Zugriff. Das heißt, wie viele Besuche zu einem bestimmten Zeitpunkt gleichzeitig erfolgen.

Zweites Konzept im Zusammenhang mit der Architektur mit hoher Parallelität

1. QPS (Abfragerate pro Sekunde): Bezieht sich auf die Anzahl der Anfragen oder Abfragen pro Sekunde im Internetbereich zu jeder Sekunde Anzahl der Antwortanfragen (bezogen auf HTTP-Anfragen)

2. PV (Page View): Seitenaufrufe, also Seitenaufrufe oder Klicks, die Anzahl der Seiten, die ein Besucher innerhalb von 24 Stunden besucht hat

--Hinweis: Dieselbe Person, die dieselbe Seite Ihrer Website durchsucht, wird nur als PV aufgezeichnet.

3. Durchsatz (Abrufe/Sek.): Die Anzahl der pro Zeiteinheit verarbeiteten Anfragen ( normalerweise bestimmt durch QPS und Parallelität) )

Antwortzeit: die Zeit, die vom Senden der Anfrage bis zum Empfang der Antwort vergeht

5. : Innerhalb eines bestimmten Zeitraums besucht derselbe Besucher die Website mehrmals, es zählt nur ein unabhängiger Besucher

6. Bandbreite: Bei der Berechnung der Bandbreite müssen zwei Indikatoren beachtet werden: Spitzenverkehr und durchschnittliche Seitengröße

7. Tägliche Website-Bandbreite: PV/statistische Zeit (umgerechnet in Sekunden) * Durchschnittliche Seitengröße (kb) *

Drei Punkte zu Hinweis:

1. QPS ist nicht gleich der Anzahl gleichzeitiger Verbindungen ( QPS ist die Anzahl der HTTP-Anfragen pro Sekunde und die Anzahl gleichzeitiger Verbindungen ist die Anzahl der vom System verarbeiteten Anfragen zur gleichen Zeit)

2. Spitzenanfragen pro Sekunde (QPS) = (Gesamtzahl der PVs * 80 %) / (Sekunden in sechs Stunden * 20 %) [Stellt dar, dass 80 % der Besuche konzentriert sind 20 % der Zeit]

3. Stresstest: Die maximale Anzahl von Parallelitäten, die der Test aushalten kann, und der maximale QPS-Wert, den der Test aushalten kann

4. Häufig verwendete Leistungstesttools [ab, wrk, httpload, Web Bench, Siege, Apache JMeter]

Vier Optimierungen

1. Wenn QPS weniger als 50 beträgt

Optimierung Plan: Für allgemeine kleine Websites besteht keine Notwendigkeit, eine Optimierung in Betracht zu ziehen

2. Wenn QPS 100 erreicht, treten Datenabfrageengpässe auf

Optimierungsplan: Datenbank-Cache-Ebene, Datenbank-Lastausgleich

3. Wenn QPS 800 erreicht, tritt ein Bandbreitenengpass auf

Optimierungslösung: CDN-Beschleunigung, Lastausgleich

Wenn QPS 1000 erreicht

Optimierungsplan: Führen Sie statisches HTML-Caching durch

5. Wenn QPS 2000 erreicht

Optimierungsplan: Geschäftstrennung durchführen, verteilter Speicher

5 , Lösungsfall mit hoher Parallelität:

1. Traffic-Optimierung

Anti-Hotlink-Verarbeitung (Entfernen böswilliger Anfragen)

2. Front-End-Optimierung

(1) Reduzieren Sie HTTP-Anfragen [ css, js usw. zusammenführen]

(2) Asynchrone Anforderungen hinzufügen (nicht alle Daten werden dem Benutzer zuerst angezeigt und der Benutzer löst ein Ereignis aus, bevor er die Daten asynchron anfordert)

(3) Browser-Caching und Dateikomprimierung aktivieren

(4) CDN-Beschleunigung

(5) Einen unabhängigen Bildserver einrichten (E/A reduzieren)

3 -seitige Optimierung

(1) Seitenstatik

(2) Gleichzeitige Verarbeitung

(3) Warteschlangenverarbeitung

4. Datenbankoptimierung

(1) Datenbank-Cache

(2) Unterdatenbank und Tabelle, Partition

(3) Lese-/Schreibtrennung

(4) Lastausgleich

5. Webserver-Optimierung

(1) Nginx-Reverse-Proxy, um einen Lastausgleich zu erreichen

(2) LVS, um einen Lastausgleich zu erreichen

Das obige ist der detaillierte Inhalt vonEinführung in PHP-Optimierungslösungen für hohe Parallelität und großen Datenverkehr. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen