Heim > Artikel > Backend-Entwicklung > PHP-Lösung für hohe Parallelität und großen Datenverkehr
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!