# log
정보 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.webresources.Cache.backgroundProcess 백그라운드 캐시 퇴거 (cache eviction) 프로세스가, 컨텍스트 []을(를) 위한 캐시의 [10] 퍼센트를 해제시킬 수 없었습니다. 캐시의 최대 크기를 증가시킬 것을 고려해 보십시오. 캐시 퇴거 작업 이후, 대략 [2,940,969] KB의 데이터가 캐시에 남아 있습니다.
경고 [ajp-nio-0.0.0.0-8009-exec-51] org.apache.catalina.webresources.Cache.getResource [/index.jsp]에 위치한 리소스를 웹 애플리케이션 []을(를) 위한 캐시에 추가할 수 없습니다. 왜냐하면 만료된 캐시 엔트리들을 없애버린 이후에도 여유 공간이 충분하지 않기 때문입니다. 캐시의 최대 크기를 증가시키는 것을 고려해 보십시오.
# 원인
Tomcat의 캐시 최대 크기가 부족하여 일부 데이터를 캐시에서 해제하지 못함.
# 해결방안
tomcat의 conf/context.xml에서 아래와 같이 내용 추가
<Resources cachingAllowed="true" cacheMaxSize="10000000" cacheObjectMaxSize="50000" cacheTTL="3600000"/>
# 내용설명
1. cachingAllowed="true": 캐시 사용을 허용합니다.
- 기본값: 대부분의 경우 기본값은 true입니다.
2. cacheMaxSize="10000000": 캐시의 최대 크기를 10,000,000 바이트(약 9.54MB)로 설정합니다.
- 기본값: 보통 기본값은 캐시의 최대 크기를 따로 설정하지 않는다면 시스템에서 자동으로 관리됩니다. 하지만 일부 시스템에서는 기본 크기를 명시적으로 설정할 수도 있습니다.
- cacheMaxSize를 증가시킴으로써 더 많은 데이터를 캐시에 저장할 수 있게 됩니다. 이는 캐시 미스(cache miss) 발생을 줄이고 성능을 향상
3. cacheObjectMaxSize="50000": 캐시할 개별 객체의 최대 크기를 50,000 바이트(약 48.83KB)로 설정합니다.
- 기본값: 시스템마다 다르지만, 기본값이 50KB 이하인 경우가 많습니다
- cacheObjectMaxSize는 캐시할 수 있는 개별 객체의 최대 크기를 제한하여, 너무 큰 객체가 캐시를 차지하지 않도록 합니다. 이는 캐시의 공간을 효율적으로 사용
4. cacheTTL="3600000": 캐시의 Time-To-Live(TTL)를 3,600,000 밀리초(1시간)로 설정합니다.
- cacheTTL을 통해 캐시 데이터의 유효 기간을 설정하여, 오래된 데이터가 캐시에 남아 있지 않도록 합니다. 이는 최신 데이터를 빠르게 제공할 수 있도록 도와줍니다.
'Error' 카테고리의 다른 글
[NoClassDefFoundError] 전이적 의존성 관리의 차이 (3) | 2024.10.14 |
---|