동적 캐시 디스크 오프로드 구성
메모리 캐시에서 삭제된 캐시 항목을 디스크에 저장하는 동적 캐시 디스크 오프로드를 구성하려면 이 태스크를 사용하십시오.
이 태스크 정보
기본적으로 캐시 항목의 수가 지정된 Application Server의 구성된 한계에 도달하면 새 항목을 캐시에 저장할 수 있도록 캐시 항목이 메모리 캐시에서 제거됩니다. 디스크 오프로드를 사용하여 메모리 캐시에서 제거되는 캐시 항목을 추후의 잠재적 액세스를 위해 디스크로 복사하십시오.
Application Server에 하나 이상의
하위가 있으면 디스크 오프로드를 사용할 수
있습니다. 복수 하위 사용 및 사용 안함 설정에 대한 자세한 정보는
z/OS에서 다중 하위 사용의 내용을
참조하십시오.
프로시저
- 관리 콘솔에서 서버 > 서버 유형 > WebSphere Application Server > server_name > 컨테이너 서비스 > 동적 캐시 서비스를 클릭하십시오.
- 디스크 오프로드 사용을 선택하십시오.
- 디스크 오프로드를 사용하도록 설정한 후 디스크 오프로드 위치를 설정할 수 있습니다. 디스크 오프로드 위치는 디스크에 캐시 항목을 저장할 위치를 지정합니다. 디스크 오프로드 위치는 동일한 노드에 정의된 Application Server에 고유해야 합니다. 동일한 노드에 여러 서버가 정의된 경우 각 서버마다 디스크 오프로드 위치가 다른지 확인하십시오.
- 서버가 중지될 때 메모리에 있는 캐시 오브젝트를 디스크에 저장하려는 경우 디스크에 비우기를 사용하십시오. 이 옵션을 선택하면 디스크 오프로드를 사용해야 합니다. 디스크에 비우기를 사용하지 않으면 서버가 중지될 때 모든 캐시 오브젝트는 삭제됩니다.
- 적용 또는 확인을 클릭하십시오.
- WebSphere® Application Server를 다시 시작하십시오.
결과
디스크 오프로드를 사용 가능하게 설정했습니다. 메모리 캐시 항목이 추후의 잠재적 액세스를 위해 디스크로 이동됩니다.
서블릿 캐싱을 사용하는 둘 이상의 Application Server가 있고 Application Server가 동적 캐시 서비스를 통해 캐시의 디스크 오프로드 위치를 동일하게 지정할 경우 다음 예외가 발생할 수 있습니다.
java.lang.NullPointerException at com.ibm.ws.cache.CacheOnDisk.readTemplate(CacheOnDisk.java:686) at com.ibm.ws.cache.Cache.internalInvalidateByTemplate(Cache.java:828)
또는
java.lang.NullPointerException at com.ibm.ws.cache.CacheOnDisk.readCacheEntry(CacheOnDisk.java:600) at com.ibm.ws.cache.Cache.getCacheEntry(Cache.java:341)
한 서버가 루트로 실행하고 다른 서버가 비루트로 실행되는 경우 이 문제점이 발생할 수 있습니다. 예를 들어, server1이 루트로 실행하고 server2가 wasuser 또는 wasgroup으로 실행하는 경우 디스크 오프로드 위치의 캐시 파일이 루트 권한으로 작성될 수 있습니다. 이러한 상황은 비루트 서버로 실행하는 애플리케이션이 캐시에 읽기 또는 쓰기를 시도할 때 충돌을 유발합니다.