Testy wydajności serwera HTTP/2

· Funkcje

Od sgcWebSockets 4.4.3 protokół HTTP/2 jest wstępnie obsługiwany, a nowe funkcje będą dodawane w kolejnych wersjach. W poprzednim wpisie porównaliśmy wydajność protokołów HTTP 1.1 i HTTP/2 — w tym celu użyłem klienta HTTP/2 sgcWebSockets, który pobrał 100 obrazów z serwerów imagekit.io

Klient HTTP/2 

Klient HTTP/2 sgcWebSockets został zmodyfikowany, aby umożliwić wybór adresu URL, z którym łączysz się w celu pobrania obrazów JPEG. Teraz są 2 adresy URL:

Drugi z nich wybieram do testów — jest to lokalny serwer HTTP/2 zbudowany z użyciem biblioteki sgcWebSockets.

Serwer HTTP/2 

Nowy przykład serwera HTTP/2 został zbudowany z użyciem biblioteki sgcWebSockets — to właśnie tego serwera użyję do porównania wydajności obu protokołów. Aby przetestować, wystarczy uruchomić plik wykonywalny — zacznie nasłuchiwać na porcie 5450 na localhost.

HTTP 1.1 vs HTTP/2 

Po uruchomieniu testu w komponencie klienta zobaczysz dużą różnicę między HTTP 1.1 a HTTP/2. Protokół HTTP/2 pobiera 100 obrazów niemal natychmiast, podczas gdy protokół HTTP 1.1 zajmuje znacznie więcej czasu, ponieważ za każdym razem musi otworzyć nowe połączenie, pobrać, poczekać, zamknąć i zacząć od nowa — natomiast HTTP/2 używa tego samego połączenia do obsługi wszystkich żądań, które są przetwarzane asynchronicznie.

Komponent HTTP/2

Pobierz skompilowane przykłady z poniższego adresu: https://www.esegece.com/products/websockets/http/http2