[HTTP 1.1] Keep-Alive

phantom0308
May 31, 2021

--

이전에 api 통신 관련해서 글을 쓰다가 keep-Alive 관련된 내용을 찾아보다 알게된 내용을 추가한다.

Http는 connection less 방식으로 클라이언트에서 request 시 연결을 맺고 끊고를 반복한다. 이는 Network 측면에서 비용과 절차가 많이 든다.(연결 시도 및 준비 과정이 반복적으로 발생)

Http 1.1 부터 Keep-Alive 기능을 지원하게 되는데, 해당 기능(Keep-Alive)은 연결된 Socket IN/OUT의 접근이 종료되더라도 정의된 시간까지 연결을 하는 구조이다.

Keep-Alive 기능은 웹서버 설정에서 확인 할 수 있다.

apache서버 conf/extra/httpd-default 설정

위와 같은 설정은, 최초 연결된 port에 대해서 5초간 클라이언트/서버를 유지하고, 100회 request 받겠다는 의미이다.

https://goodgid.github.io/HTTP-Keep-Alive/

주의 해야할 점은, 서버 상황에 따라 모든 요청마다 연결을 유지해야 하기 때문에 프로세스 수가 기하급수적으로 늘어나 MaxClient 허용치를 초과할 수있고, 서버의 메모리를 많이 사용하여 성능 저하 및 과부하를 일으킬 수 있다.

그러므로, 서버의 상황에 맞춰 해당 값을 조절하여 사용해야 한다.

--

--

No responses yet