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

藏色散人
Freigeben: 2023-04-08 06:24:01
nach vorne
4395 Leute haben es durchsucht

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!

Verwandte Etiketten:
php
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!