아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
버즈빌 favicon버즈빌

Go HTTP 커넥션 풀, 제대로 파헤쳐 보자!

by DD
2022-03-07
4년 전
조회수 8

Go의 http.Transport를 분석하여 HTTP 커넥션 풀 관리 방법 설명

MaxIdleConnsPerHost 등, 커넥션 풀 효과적 사용을 위한 파라미터 조정 방법 제시

httptrace.ClientTrace를 활용, TLS Handshake 과정의 병목 현상 파악 및 해결

http.Transport 아키텍처 심층 분석

http.Client는 http.Transport를 통해 실제 HTTP 요청을 처리한다. 구체적으로 커넥션 풀은 Idle Connections 맵과 idleLRU 큐를 사용하여 관리된다. 따라서 MaxIdleConnsPerHost 설정을 통해 호스트별 유휴 커넥션 수를 제어하여 메모리 사용량을 최적화한다.

커넥션 풀 파라미터 튜닝 가이드

Go의 HTTP 커넥션 풀은 여러 파라미터를 통해 성능을 조절할 수 있다. 값을 조정하여 트래픽 변화에 유연하게 대응할 수 있다. 반면, 과도한 값 설정은 을 유발하여 의 원인이 될 수 있으므로 주의해야 한다.

MaxIdleConnsPerHost
커넥션 생성 지연
응답 시간 증가

httptrace.ClientTrace를 활용한 성능 측정

httptrace.ClientTrace를 사용하여 HTTP 요청의 각 단계를 추적할 수 있다. 구체적으로 TLSHandshakeStart와 TLSHandshakeDone을 통해 TLS 핸드셰이크 시간을 측정한다. 따라서 병목 지점을 파악하고, DynamoDB 응답 시간을 개선하는 데 활용할 수 있다.

HTTP connection pool in Go explained
고급
아키텍처
Go
DynamoDB
Elasticsearch
Backend
Data
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

Go + DynamoDB: TLS Handshake 문제 해결기

버즈빌 로고

DynamoDB RCU 폭증, Limit 설정과 Eventually Consistent Read로 해결!

버즈빌 로고

DynamoDB 응답 시간, AWS Credential Token 문제 해결로 쾌적하게!

버즈빌 로고

여기어때, 검색 광고 랭킹 부스팅 시스템 구축: Elasticsearch, Redis 활용

여기어때 로고

당근, 롤링 리스타트 중에도 끄떡없는 검색 시스템 구축!

당근 로고

Planet AD, AWS EKS, KEDA, RDS Proxy를 활용한 서비스 안정화 및 비용 절감 노하우 공개!

SK플래닛 로고
버즈빌 favicon버즈빌
고급
아키텍처
Go
DynamoDB
Elasticsearch
Backend
Data

관련 추천 글

Go + DynamoDB: TLS Handshake 문제 해결기

버즈빌 로고

DynamoDB RCU 폭증, Limit 설정과 Eventually Consistent Read로 해결!

버즈빌 로고

DynamoDB 응답 시간, AWS Credential Token 문제 해결로 쾌적하게!

버즈빌 로고