StorageGRID의 활성, 유휴 및 동시 HTTP 연결의 이점
HTTP 연결 구성 방식은 StorageGRID 시스템의 성능에 영향을 미칠 수 있습니다. HTTP 연결이 활성 상태인지, 유휴 상태인지, 또는 여러 연결이 동시에 실행되는지에 따라 구성 방식이 달라집니다.
다음과 같은 유형의 HTTP 연결에서 성능 향상 효과를 확인할 수 있습니다.
-
유휴 HTTP 연결
-
활성 HTTP 연결
-
동시 HTTP 연결
유휴 HTTP 연결을 열어두는 것의 이점
클라이언트 애플리케이션이 유휴 상태일 때는 추후 트랜잭션을 위해 HTTP 연결을 열어 두십시오. 유휴 HTTP 연결은 최대 10분 동안 열어 둘 수 있습니다. StorageGRID는 10분 이상 열려 있고 유휴 상태인 HTTP 연결을 자동으로 닫을 수 있습니다.
열려 있고 유휴 상태인 HTTP 연결은 다음과 같은 이점을 제공합니다.
-
StorageGRID 시스템이 HTTP 트랜잭션을 수행해야 한다고 판단한 시점부터 실제로 트랜잭션을 수행할 수 있는 시점까지의 지연 시간이 단축되었습니다.
지연 시간 감소가 가장 큰 장점이며, 특히 TCP/IP 및 TLS 연결을 설정하는 데 필요한 시간을 줄여줍니다.
-
이전에 수행된 전송으로 TCP/IP 슬로우 스타트 알고리즘을 사전 준비하여 데이터 전송 속도를 향상시켰습니다
-
클라이언트 애플리케이션과 StorageGRID 시스템 간의 연결을 방해하는 여러 유형의 오류 상황에 대한 즉각적인 알림 기능
느린 시작의 이점과 리소스 할당 사이의 균형을 고려하여 유휴 연결을 얼마나 오랫동안 열어둘지 결정하십시오.
활성 HTTP 연결의 이점
스토리지 노드에 직접 연결하는 경우, HTTP 연결에서 지속적으로 트랜잭션을 수행하더라도 활성 HTTP 연결 시간은 최대 10분으로 제한해야 합니다.
연결을 유지할 최대 시간을 결정하는 것은 연결 지속성의 이점과 내부 시스템 리소스에 연결을 최적으로 할당하는 것 사이의 균형을 맞추는 문제입니다.
스토리지 노드에 대한 클라이언트 연결의 경우, 활성 HTTP 연결을 제한하면 다음과 같은 이점을 얻을 수 있습니다.
-
StorageGRID 시스템 전체에서 최적의 로드 밸런싱을 지원합니다.
시간이 지남에 따라 로드 밸런싱 요구 사항이 변경되면 HTTP 연결이 더 이상 최적의 방식이 아닐 수 있습니다. 클라이언트 애플리케이션이 각 트랜잭션마다 별도의 HTTP 연결을 설정할 때 시스템은 최상의 로드 밸런싱 성능을 발휘하지만, 이 방법은 영구 연결을 통해 얻을 수 있는 중요한 이점을 상쇄합니다.
-
클라이언트 애플리케이션이 사용 가능한 공간이 있는 LDR 서비스로 HTTP 트랜잭션을 보낼 수 있도록 합니다.
-
유지보수 절차를 시작할 수 있도록 합니다.
일부 유지 관리 절차는 진행 중인 모든 HTTP 연결이 완료된 후에만 시작됩니다.
로드 밸런서 서비스에 대한 클라이언트 연결의 경우, 연결 유지 시간을 제한하면 일부 유지 관리 절차가 신속하게 시작될 수 있습니다. 클라이언트 연결 유지 시간을 제한하지 않으면 활성 연결이 자동으로 종료되는 데 몇 분이 걸릴 수 있습니다.
동시 HTTP 연결의 이점
StorageGRID 시스템에 여러 개의 TCP/IP 연결을 열어 두면 병렬 처리가 가능하여 성능이 향상됩니다. 최적의 병렬 연결 수는 다양한 요인에 따라 달라집니다.
동시 HTTP 연결은 다음과 같은 이점을 제공합니다.
-
지연 시간 감소
다른 거래가 완료될 때까지 기다릴 필요 없이 즉시 거래를 시작할 수 있습니다.
-
처리량 증가
StorageGRID 시스템은 병렬 트랜잭션을 수행하여 전체 트랜잭션 처리량을 향상시킬 수 있습니다.
클라이언트 애플리케이션은 여러 개의 HTTP 연결을 설정해야 합니다. 클라이언트 애플리케이션이 트랜잭션을 수행해야 할 경우, 현재 트랜잭션을 처리 중이지 않은 설정된 연결을 선택하여 즉시 사용할 수 있습니다.
각 StorageGRID 시스템의 토폴로지는 동시 트랜잭션 및 연결에 대한 최대 처리량이 다릅니다. 최대 처리량은 컴퓨팅, 네트워크, 스토리지 리소스, WAN 링크, 그리고 StorageGRID 시스템이 지원하는 서버, 서비스 및 애플리케이션의 수에 따라 달라집니다.
StorageGRID 시스템은 여러 클라이언트 애플리케이션을 지원하는 경우가 많습니다. 최대 동시 연결 수를 결정할 때 이 점을 염두에 두십시오. 클라이언트 애플리케이션이 StorageGRID 시스템에 각각 연결을 설정하는 여러 소프트웨어 엔티티로 구성된 경우, 모든 엔티티의 연결을 합산해야 합니다. 다음과 같은 상황에서는 최대 동시 연결 수를 조정해야 할 수 있습니다.
-
StorageGRID 시스템의 토폴로지는 시스템이 지원할 수 있는 최대 동시 트랜잭션 및 연결 수에 영향을 미칩니다.
-
대역폭이 제한된 네트워크를 통해 StorageGRID 시스템과 상호 작용하는 클라이언트 애플리케이션은 개별 트랜잭션이 적절한 시간 내에 완료되도록 동시 처리 수준을 낮춰야 할 수 있습니다.
-
여러 클라이언트 애플리케이션이 StorageGRID 시스템을 공유하는 경우 시스템 제한을 초과하지 않도록 동시 실행 수준을 낮춰야 할 수 있습니다.
읽기 및 쓰기 작업을 위한 HTTP 연결 풀 분리
읽기 및 쓰기 작업에 대해 별도의 HTTP 연결 풀을 사용하고 각 작업에 사용할 풀의 양을 제어할 수 있습니다. HTTP 연결 풀을 분리하면 트랜잭션을 더 효과적으로 제어하고 로드 밸런싱을 개선할 수 있습니다.
클라이언트 애플리케이션은 읽기 작업이 주를 이루는 부하 또는 쓰기 작업이 주를 이루는 부하를 생성할 수 있습니다. 읽기 및 쓰기 트랜잭션에 대해 별도의 HTTP 연결 풀을 사용하면 각 풀에서 읽기 또는 쓰기 트랜잭션에 할당할 비율을 조정할 수 있습니다.