Leistungsvergleich von HTTP/1.1, HTTP/2 und HTTP/2 + Server Push

Veröffentlicht Ergebnisse der Untersuchung zur Leistung verschiedener Methoden zur Extraktion von Ressourcen, unter Verwendung der Protokolle HTTP/1.1, HTTP/2 und HTTP/2 + Server Push für den Serverzugriff. In der Studie wurde auch der Einfluss der Verfügbarkeit abgefragter Daten im Browser-Cache sowie die Manipulation von Ressourcen auf der Ebene der Anwendungslogik (Zusammenführung von Ressourcen in einem JSON-Block) bewertet.

Die Leistungstests von 25 Anfragen zeigten insgesamt vorhersehbare Ergebnisse: eine deutliche Verzögerung bei Anfragen über HTTP/1.1 mit leeren Caches und eine bessere Rückgabe von Ressourcen in einem Block (Tests mit dem Label „compound“). Die Leistung von Firefox und Chrome lag auf ähnlichem Niveau, doch die Verfügbarkeit von Daten im Cache führte nicht zu dem erwarteten Anstieg der Effizienz.

Leistungsvergleich von HTTP/1.1, HTTP/2 und HTTP/2 + Server Push

Im Test mit 500 Anfragen zeigte sich jedoch eine deutliche Verzögerung von Chrome im Vergleich zu Firefox beim Senden einer großen Anzahl von Anfragen sowie eine Verzögerung von Firefox im Vergleich zu Chrome bei der Verwendung des Server Push-Mechanismus und in Situationen mit HTTP/2, wenn der größte Teil der Daten im Browser-Cache vorhanden war. Chrome arbeitete effektiver mit dem Cache, während Firefox eine effizientere Verarbeitung externer Anfragen zeigte.

Leistungsvergleich von HTTP/1.1, HTTP/2 und HTTP/2 + Server Push

Leistungsvergleich von HTTP/1.1, HTTP/2 und HTTP/2 + Server Push

Nach den Tests wird festgestellt, dass HTTP/2 in der Lage ist, einzelne Anfragen einer großen Sammlung von Ressourcen ziemlich effektiv zu verarbeiten. Die Unterschiede in der Leistung einfacher Schemen zur separaten Ausgabe von Ressourcen im Gegensatz zu Methoden, bei denen Ressourcen in einem Block aggregiert werden, sind nicht so erheblich, um eine signifikante Komplexität der Logik auf der Anwendungsseite zu rechtfertigen. ServerDie Aggregation macht nur in Situationen Sinn, in denen die Leistung die höchste Priorität hat. Wenn die Vereinfachung der Logik und eine einfache API wichtiger sind, ist es sinnvoll, die separate Verarbeitung von Ressourcen zu verwenden.

Eine weitere Schlussfolgerung besagt, dass der Browser-Cache bei der Verwendung von HTTP/2 keinen signifikanten Einfluss auf die Leistung der Anfrageverarbeitung hat (die vollständige Ausführung von 501 Anfragen stellte sich als langsamer heraus als die Ausführung von 51 Anfragen bei 90% Cache-Auslastung, und zwar nur 1,2-mal in Firefox und 2,3-mal in Chrome). Die Verwendung von Server Push zeigte in Firefox keinen wesentlichen Vorteil, war jedoch effektiv beim Laden einer großen Anzahl von Ressourcen in Chrome. Die Autoren der Studie stellten zudem fest, dass die Optimierung des Servers einen stärkeren Einfluss auf die Leistung hat als die Optimierung des im Browser laufenden Client-Codes.

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster