Posts
read more
Tomcat 접근 로그(Access Log) 커스텀 설정과 분석 효율 극대화
서론
웹 서비스 운영 중 발생하는 문제의 80%는 로그 분석을 통해 해결됩니다. 특히 **접근 로그(Access Log)**는 누가, 언제, 어떤 페이지를 호출했고 얼마나 빨리 응답했는지를 기록하는 핵심 데이터입니다. Tomcat의 기본 설정을 넘어 실무에서 필요한 데이터들을 추출하는 커스텀 방법을 정리합니다.
1. 접근 로그 패턴 커스텀 (server.xml)
Tomcat의 server.xml 파일 내 <Valve> 설정을 통해 로그 패턴을 변경할 수 있습니다.
실무 추천 패턴
기본 패턴에는 가장 중요한 ‘처리 시간(Processing Time)‘이 빠져 있는 경우가 많습니다.
Posts
read more
Tomcat 성능 튜닝의 핵심: maxThreads, maxConnections, acceptCount 완벽 이해
서론
대규모 트래픽이 발생하는 환경에서 WAS(Tomcat)가 응답하지 않거나 속도가 급격히 느려진다면, 가장 먼저 의심해야 할 곳은 쓰레드 풀(Thread Pool) 설정입니다. Tomcat의 server.xml에서 설정하는 세 가지 핵심 파라미터의 관계를 정확히 이해해야 서비스 장애를 예방할 수 있습니다.
Tomcat 요청 처리의 3단계 레이어
1. acceptCount (대기열 크기)
모든 쓰레드가 사용 중일 때, 운영체제(OS) 수준에서 요청을 대기시킬 큐의 크기입니다. 이 큐마저 가득 차면 클라이언트는 Connection Refused 에러를 받게 됩니다.
- 실무 팁: 너무 크게 설정하면 클라이언트는 타임아웃에 걸릴 때까지 하염없이 기다리게 되므로 적절한 제한이 필요합니다.
2. maxConnections (최대 연결 수)
Tomcat이 동시에 유지할 수 있는 최대 네트워크 연결 수입니다. 쓰레드 수보다 훨씬 크게 설정하여(NIO 방식), 실제 처리 중이지 않은 연결도 잠시 붙들어 둘 수 있습니다.