달력

32021  이전 다음

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  

도대체 KeepAlive란 무엇인가?

apache.org의 KeepAlive에 대해 아래와 같이 정의 되어 있다.

 The Keep-Alive extension to HTTP/1.0 and the persistent connection feature of HTTP/1.1 provide long-lived HTTP sessions which allow multiple requests to be sent over the same TCP connection. In some cases this has been shown to result in an almost 50% speedup in latency times for HTML documents with many images. To enable Keep-Alive connections, set KeepAlive On

 

HTTP프로토콜상 한번 접속 후 자료를 모두 전송하면 접속을 끊어 버리지만 KeepAlive On상태에서는 KeepAliveTimeOut시간 동안 접속을 끊지않고 다음 접속을 기다린다. 순수 html파일, 이미지파일 등으로만 구성된 서버(동적파일이 없는서버)에 KeepAlive On으로 설정할 경우 50%정도의 성능 향상을 보인다고 한다. 단 이와 같은 성능향상을 보일려면 서버가 바쁘지 않아야 한다. 아주 바쁜 서버 환경에서 KeepAlive On을 설정해 놓을 경우 모든 접속자 마다 연결 유지를 해 놓아야 하기 때문에 아파치 프로세스수가 기하 급수적으로 늘어나 MaxClient값을 초과하게 된다. 또한 On상태일때 접속유지 하는 프로세스들 때문에 메모리를 그 만큼 많이 사용하게 된다. 따라서 KeepAlive값은 단순히 On/Off 시킬것이 아니라 접속자, 메모리용량과 연관해서 값을 설정하여야한다.

 

공간사랑의 KeepAlive 설정

    접속자가 많지만 메모리가 충분하다 : On

    접속자가 많지만 메모리 여유가 없다 : Off

    접속자가 적고 메모리가 충분하다 : On

    접속자가 적고 메모리 여유가 없다 : Off

 

- 메모리가 충분하다는 의미는 접속자가 MaxClient값에 도달했을 경우라고 swap메모리를 사용하지 않는상태를 말한다.


Posted by 낭군

댓글을 달아 주세요