Webship 블로그로 돌아가기

Webship 엔지니어링

Webship 1.3.1: 더 높은 HTTP/2 및 리버스 프록시 용량

Webship 1.3.1은 1.2.0에 비해 직접 h2c 용량을 34.19%, 직접 HTTP/2 TLS를 26.67%, 리버스 프록시 H1를 15.10% 증가시키면서 전송 안정성과 정확성을 강화합니다.

Webship 1.3.1은 두 번의 릴리스 주기 동안 전송 프로파일링, 프로토콜 강화 및 안정성 작업을 측정 가능한 용량 증가로 전환합니다. 동일한 Debian 벤치마크 호스트에서, 비교 가능한 10개의 직접 및 리버스 프록시 요청 작업 중 8개가 Webship 1.2.0보다 빠릅니다.

가장 큰 변화는 HTTP/2에 있습니다: 직접 h2c 요청은 초당 1,003,468건에서 1,346,548건으로 증가했으며, 직접 HTTP/2 TLS 요청은 초당 884,857건에서 1,120,872건으로 증가했습니다. 리버스 프록시 용량 또한 측정된 모든 프로토콜에서 개선되었습니다.

Webship 1.3.1과 1.2.0 비교

아래 표는 서버 로컬 요청 용량의 중앙값을 비교한 것입니다. 값이 클수록 좋습니다.

| 직접 작업량 | Webship 1.2.0 | Webship 1.3.1 | 변경 | | --- | ---: | ---: | ---: | | HTTP/1.1 | 414,195 RPS | 414,060 RPS | -0.03% | | HTTP/1.1 TLS | 303,788 RPS | 312,439 RPS | +2.85% | | h2c | 1,003,468 RPS | 1,346,548 RPS | +34.19% | | HTTP/2 TLS | 884,857 RPS | 1,120,872 RPS | +26.67% | | HTTP/3 TLS | 409,514 RPS | 400,187 RPS | -2.28% |

| TLS 종료가 있는 리버스 프록시 | Webship 1.2.0 | Webship 1.3.1 | 변경 | | --- | ---: | ---: | ---: | | HTTP/1.1 | 165,160 RPS | 190,102 RPS | +15.10% | | HTTP/1.1 TLS | 118,681 RPS | 123,344 RPS | +3.93% | | h2c | 122,371 RPS | 135,499 RPS | +10.73% | | HTTP/2 TLS | 113,919 RPS | 124,957 RPS | +9.69% | | HTTP/3 TLS | 126,407 RPS | 131,529 RPS | +4.05% |

직접 HTTP/1.1 는 사실상 변함이 없습니다. 직접 HTTP/3 TLS는 1.2.0 중간값보다 2.28% 낮아서 모든 항목을 이득으로 제시하지는 않습니다. 이번 릴리스는 엄격한 무오류 수락 정책을 유지하면서 HTTP/2 및 리버스 프록시 용량에서 가장 뚜렷한 개선을 제공합니다.

이익이 어디에서 나왔는지

Webship 1.3.1은 프로토콜이나 보안 검사를 약화시키는 대신 가장 바쁜 경로에서의 작업을 줄입니다.

  • 연결 로컬 복제본은 반복되는 HTTP/1 및 HTTP/2 응답이 프로세스 전체 바이트 버퍼 참조 카운트 경쟁을 피할 수 있게 합니다.
  • 공유 HPACK 블록에는 이제 연결 안정 HTTP/2 필드가 포함되어 반복적인 헤더 인코딩이 줄어듭니다.
  • HTTP/2는 다른 소켓 읽기를 시도하기 전에 대기 중인 출력을 플러시하고, 연결 소유의 락이 없는 스트림 관리 기능을 더 많이 사용합니다.
  • HTTP/3에서 설정한 짧은 헤더 패킷은 한 번의 수신 복사를 피하는 반면, 핸드셰이크 패킷은 안전한 소유권 버퍼링을 유지합니다.
  • TLS 패스스루는 각 릴레이 사이클마다 새로 만드는 대신, 워커 로컬 릴레이 버퍼와 유휴 타이머를 재사용합니다.
  • 릴리스 전송 경로는 계측이 비활성화되면 더 이상 추적 호출 위치를 전달하지 않습니다.

이러한 변경 사항은 프레이밍, 트레일러, 취소, 검사 및 백프레셔를 유지합니다. 이들은 올바름 작업을 선택적 빠른 경로로 바꾸지 않고 조정 및 할당 비용을 줄입니다.

안정성은 능력의 일부이다

빠른 중앙값은 실행이 올바르고 반복 가능할 때만 유용합니다. 모든 승인된 요청 용량 샘플은 HTTP 오류, 소켓 오류, 프로토콜 실패, 프록시 생성 실패, 주요 페이지 폴트 및 HTTP/3 패킷 손실이 없어야 했습니다.

이 릴리스는 또한 일시적인 디스크립터, 메모리 및 네트워크 압력을 통해 청취자를 활성 상태로 유지하며; 요청 마감 시한까지 캐시 붕괴 대기를 제한하고; 하프-클로즈 후 TLS 패스스루 응답을 보존하며; WebTransport 승인, 회계, 패닉 격리 및 거부 순서를 수정합니다.

집중된 역방향 HTTP/2 TLS 자격 검증은 0.89% 분산과 0.33% 변동 계수를 가진 124,957 RPS 중앙값을 산출했습니다. 재자격 검증된 종료 및 패스스루 HTTP/3 스트리밍 각각은 99,943,778바이트의 정확한 본문을 가진 7개의 승인된 샘플을 통과했으며 클라이언트, 프로토콜 또는 패킷 손실 오류가 없었습니다.

WebTransport 및 100MB 스트리밍

Webship 1.3.1은 또한 서버 로컬 WebTransport 및 대용량 파일 스트리밍 경로도 지원합니다:

  • 직접 WebTransport: 신뢰할 수 있는 스트림의 경우 1,018.1 MiB/s, 데이터그램의 경우 1,038.9 MiB/s.
  • WebTransport를 통해 TLS 패스스루: 신뢰할 수 있는 스트림의 경우 548.6 MiB/s, 데이터그램의 경우 629.7 MiB/s.
  • 직접 100 MB 스트리밍: HTTP/1.1 TLS에서 4,194.8 MiB/s, HTTP/2 TLS에서 3,574.3 MiB/s, HTTP/3 TLS에서 2,096.9 MiB/s.
  • TLS 종료가 있는 리버스 프록시 스트리밍: 각각 3,585.7 MiB/s, 3,355.0 MiB/s, 및 1,938.6 MiB/s.

측정 가능한 운영을 위해 빌드된 릴리스

Webship 1.3.1은 지원되는 Linux, Windows, macOS 및 OpenHarmony 대상용으로 서명된 바이너리로 제공됩니다. Linux x86_64 릴리스에는 호환 가능한 PGO 프로필과 출처 메타데이터가 포함되어 있습니다.

완전한 [벤치마크 방법론 및 현재 비교](/benchmarks)를 읽고, [1.3.1 문서](/docs/1.3.1)를 검토하거나, [다운로드](/downloads)에서 서명된 빌드를 받으세요.

출처 및 내용 방법

비교는 2026년 9월 4일자 기록된 Webship 1.2.0 Debian 매트릭스와 2026년 9월 11일자 기록된 Webship 1.3.1 통합 Debian 성능 벤치마크를 사용합니다. 백분율은 기록된 중앙값을 기준으로 계산됩니다.