본문 바로가기
IT Knowledge/HAProxy

HAProxy Frontend Session Utilization 증가 현상

by Seok. 2025. 4. 1.
반응형

HAProxy Frontend Session Utilization 지속적으로 증가되는 현상.

 

원인?

HAProxy에서 Frontend Session utilization 계속 올라가는 경우, 이는 클라이언트의 요청 세션을 처리하는 동안 리소스를 효율적으로 관리하지 못하고 있다는 신호 있습니다.

 

기대하는 현상

요청 세션이 끝나면 자체적으로 정리가 되어 Session Utilization 요청수와 비례하게 증감되는 현상을 기대합니다.

 


조치방안

설정을 점검하고 조정하여 최적화가 필요합니다.

 

* 세션 제한

Frontend 세분화 되어 있다면, 최대 연결 수를 제한하여 다른 Frontend 영향을 주지 않도록 설정

이는 임시조치 일뿐, 내가 기대하는 해결방안은 아닙니다.

Frontend my_frontend
    maxconn 10000 # 최대 연결 제한
* 세션 타임아웃 설정

세션이 예상보다 길게 지속되면, session utilization 계속 올라가니, timeout 설정을 통해 세션 타임아웃을 조정할 있습니다.   

Frontend my_frontend
    timeout client                 30s              #
클라이언트와의 연결 시간 제한
    timeout http-request    10s              # HTTP
요청의 시간 제한
    timeout connect            10s              #
백엔드 서버와의 연결 시간 제한
    timeout server                30s             #
서버 응답 시간 제한
* Keep-Alive 연결 관리

클라이언트와 서버간의 연결이 계속 유지되고 있다면, 세션 utilization 증가할 있습니다.

아래의 옵션을 사용하여 클라이언트와 서버간의 연결을 종료 시킬 있습니다.

Frontend my_frontend
    option http-server-close    #
서버와의 연결을 close하여 자원관리
    option forceclose             #
연결 강제 종료

주의사항 : http-server-close 설정하면, 클라이언트와 서버간의 연결을 매번 새로 열어야 하므로, 많은 요청이 빠르게 들어오는 환경에서는 성능 저하가 발생할 있습니다.

 

* 서버 상태 확인

Backend 서버가 비정상적으로 동작하는 경우, 세션 처리에 문제가 있을 있습니다.

Backend 서버의 동작 상태 확인이 필요합니다.

반응형

댓글