[HTTP 1.1] Keep-Alive
May 31, 2021
이전에 api 통신 관련해서 글을 쓰다가 keep-Alive 관련된 내용을 찾아보다 알게된 내용을 추가한다.
Http는 connection less 방식으로 클라이언트에서 request 시 연결을 맺고 끊고를 반복한다. 이는 Network 측면에서 비용과 절차가 많이 든다.(연결 시도 및 준비 과정이 반복적으로 발생)
Http 1.1 부터 Keep-Alive 기능을 지원하게 되는데, 해당 기능(Keep-Alive)은 연결된 Socket IN/OUT의 접근이 종료되더라도 정의된 시간까지 연결을 하는 구조이다.
Keep-Alive 기능은 웹서버 설정에서 확인 할 수 있다.
위와 같은 설정은, 최초 연결된 port에 대해서 5초간 클라이언트/서버를 유지하고, 100회 request 받겠다는 의미이다.
주의 해야할 점은, 서버 상황에 따라 모든 요청마다 연결을 유지해야 하기 때문에 프로세스 수가 기하급수적으로 늘어나 MaxClient 허용치를 초과할 수있고, 서버의 메모리를 많이 사용하여 성능 저하 및 과부하를 일으킬 수 있다.
그러므로, 서버의 상황에 맞춰 해당 값을 조절하여 사용해야 한다.