HTTP/2 서버 테스트 성능

· 기능

sgcWebSockets 4.4.3부터 HTTP/2가 초기 지원되며, 다음 버전에서 새로운 기능이 추가될 예정이에요. 이전 블로그 글에서 HTTP 1.1과 HTTP/2 프로토콜 사이의 성능을 비교했어요. 이를 위해 sgcWebSockets HTTP/2 클라이언트로 imagekit.io 서버에서 100장의 이미지를 다운로드했어요. 

HTTP/2 클라이언트 

sgcWebSockets HTTP/2 클라이언트는 jpeg 이미지를 다운로드할 때 연결할 URL을 지정할 수 있도록 수정되었어요. 이제 2개의 URL이 있어요:

테스트에는 두 번째 URL을 선택했어요. 이건 sgcWebSockets 라이브러리로 구축한 로컬 HTTP/2 서버예요.

HTTP/2 서버 

sgcWebSockets 라이브러리로 새로운 HTTP/2 서버 샘플을 만들었어요. 이 서버를 사용해서 두 프로토콜 간의 성능을 비교할 거예요. 테스트하려면 실행 파일을 열기만 하면 돼요. 그러면 localhost의 포트 5450에서 수신 대기를 시작해요.

HTTP 1.1 vs HTTP/2 

클라이언트 컴포넌트에서 테스트를 시작하면 HTTP 1.1과 HTTP/2의 큰 차이를 확인할 수 있어요. HTTP/2 프로토콜은 100장의 이미지를 다운로드하는 데 거의 시간이 걸리지 않는 반면, HTTP 1.1 프로토콜은 매번 새로운 연결을 열고 다운로드한 뒤 기다리고 닫고 다시 시작해야 하기 때문에 훨씬 더 많은 시간이 걸려요. 반면 HTTP/2는 동일한 연결을 사용해 모든 요청을 처리하며, 이 요청들은 비동기적으로 처리돼요.

HTTP/2 컴포넌트

컴파일된 샘플은 다음 URL에서 다운로드할 수 있어요: https://www.esegece.com/products/websockets/http/http2