Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Lösung für hohe Parallelität und großen Datenverkehr

PHP-Lösung für hohe Parallelität und großen Datenverkehr

藏色散人
藏色散人nach vorne
2019-12-18 17:25:264418Durchsuche

PHP-Lösungen für hohe Parallelität und großen Datenverkehr

1 Das Konzept der hohen Parallelität

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

Videokursempfehlung →: "Zehn-Millionen-Level-Daten-Parallelitätslösung (Theorie + Praxis)"

2 Konzepte im Zusammenhang mit Architektur mit hoher Parallelität

1. QPS (Abfragerate pro Sekunde): Die Anzahl der Anfragen oder Abfragen pro Sekunde bezieht sich im Internetbereich auf die Anzahl der Antwortanfragen pro Sekunde Sekunde (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

- -Hinweis: Von derselben Person angezeigt. Dieselbe Seite Ihrer Website wird nur als pv aufgezeichnet.

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

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

5. Unique Visitor (UV): Innerhalb eines bestimmten Zeitbereichs Derselbe Besucher besucht die Website mehrmals und wird nur als 1 unabhängiger Besucher gezählt

6. Bandbreite: Bei der Berechnung der Bandbreite, des Spitzenverkehrs und der durchschnittlichen Seitengröße müssen zwei Indikatoren beachtet werden

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

Drei Punkte, die Sie beachten sollten:

1. QPS ist nicht gleich der Anzahl gleichzeitiger Verbindungen (QPS ist die Anzahl der gleichzeitigen HTTP-Anfragen pro Sekunde. Die Anzahl der Verbindungen ist die Anzahl der gleichzeitig vom System verarbeiteten Anfragen)

2. Spitzenanfragen pro Sekunde (QPS) = (Gesamtzahl der PVs * 80 %) / (Sekunden in sechs Stunden * 20 %) [Repräsentiert 80 %. Besuche konzentrieren sich auf 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

Optimierungsplan: Für allgemeine kleine Websites , keine Optimierung erforderlich

2. Wenn QPS 100 erreicht, tritt ein Datenabfrageengpass auf

Optimierungsplan: Datenbank-Cache-Schicht, Datenbanklastausgleich

3. Wenn QPS 800 erreicht, tritt ein Bandbreitenengpass auf

Optimierungslösung: CDN-Beschleunigung, Lastausgleich

4. Wenn QPS erreicht 1000

Optimierungsplan: Statischen HTML-Cache erstellen

5. Wenn QPS 2000 erreicht

Optimierungsplan: Geschäftstrennung, verteilter Speicher

5. Fall einer Lösung mit hoher Parallelität:

1. Verkehrsoptimierung

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

2. Front-End-Optimierung

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

(2) Fügen Sie eine asynchrone Anfrage hinzu (alle Daten). wird dem Benutzer nicht zuerst angezeigt, der Benutzer löst ein Ereignis aus und die Daten werden asynchron angefordert)

(3) Browser-Caching und Dateikomprimierung aktivieren

(4) CDN-Beschleunigung

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

3. Serverseitige 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 zur Erzielung eines Lastausgleichs

(2) LVS zur Erzielung eines Lastausgleichs

Mehr PHP Weitere Informationen finden Sie unter PHP-Tutorial!

Das obige ist der detaillierte Inhalt vonPHP-Lösung 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:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen