request-timeout과 live-time설정 류이 / 2007-03-05 17:13 |
사용자요청 응답시간을 설정할려고 하는 중에 포럼에서 request-timeout과 live-time설정하여 응답시간을 설정할 수 있다는 것을 알았으나, 실제로 설정하면 레진이 정상적으로 로딩되지 않습니다.
레진 버전이 3.0.15 입니다. request-timeout과 live-time설정을 어떻게 하면 되는지요? |
[답변]request-timeout과 live-time설정 권용찬 / 2007-03-07 02:56 |
소켓 튜닝부분은 설명이 난해한 관계로 답글을 다는데 시간이 좀 걸렸습니다. ^^ 나름대로 쉽게 풀어본다고 했지만... -.-;; 어떨지 모르겠습니다. 이런 부분은 보통 엔지니어가 처리합니다만 궁금하시다니 부탁하면 합니다. ^^
먼저 ... live-time 과 request-timeout은 Resin 2.x 버젼에서 WAS의 HTTP또는 SRUN 리스너의 소켓제어를 위하여 사용되는 구성 테그 입니다.
=============2.x에서 Time out 제어값 들에 대한 설명 ==============
<request-timeout> 이 설정은 일반적으로 기본값을 유지하지만 시스템에 따라 TCP Kernel parameter의 조정이 실패하여 TCP쪽 연결이 너무 오래 지체 되거나 Apache Proxy Module의 잘못된 동작으로 사용자요청에 의해 Apache가 생성한 소켓이 오랜시간 지속될 경우 이를 해지하기 위하여 설정을 줄여주기도 합니다. 이 설정값은 JAVA 프로그램이 처리완료되는 일반적인 시간보다는 커야 하며 경험값 으로 최소 10초 이상은 설정할 것을 권장합니다.
=============3.0 & 3.1에서 Time out 제어값 들에 대한 설명 ============= <client-live-time> : 컨넥션이 생성된 후 부터 대기시간/ default 30s <read-timeout> : srun 컨넥션이 종료된 후 대기시간 / defaul 65s <write-timeout> : 사용자의 요청이 완전하게 수신되기까지의 대기시간 / defaul 65s
<예제>
==웹서버 연동 서버의 경우 (사용자 요청중 Web Server에서 필요한 부분만 들어옴)
!!값을 설정할 때에는 read-timeout이 항상 client-live-time값 보다 크게 해주셔야 하는점을 주의 하십시요 잘못 설정될 경우 구동이 되지 않을 수 있습니다.
튜닝을 위한 값의 기준은 사실 절대값이 없습니다.
일반적으로 상기 예제에서 제공해드린 값을 기준으로 하시면 무리가 없습니다. 그리고 상기 파라메터들은 3.0 모두에 적용되는 것이 아니라 중간중간에 개선 된 부분이라 현재 버젼이 라이센스가 있으신 버젼이라면 3.0 최근 버젼으로 업그레이드 하셔야 문제점이 없을 것입니다.
도움이 되셨기를 바라며 이만 줄입니다. |