서비스 프레임워크 설명서 |
자동 완성 서비스의 경우 빠른 응답을 위해 사전 전체를 메모리에 올려 서비스한다. 이에 따라 사전 파일의 용량에 따라 적절한 메모리 설정이 필요하다.
자동 완성 서비스를 사용하지 않을 경우에는 JVM의 기본 메모리 설정으로 서비스가 충분히 가능하다. 기본 최대 힙 크기(-Xms)는 32비트 JVM의 경우 설치 메모리(physical memory)의 1/4과 1GB 중 적은 값을 사용한다. 64비트 JVM의 경우 설치 메모리의 1/4과 32GB 중 적은 값을 사용한다.
자동 완성 서비스의 경우 사전 파일의 크기 및 지원 서비스 모드에 따라 대략 아래와 같이 추가적인 메모리가 필요하다.
지원 서비스 모드 | 추가 메모리 필요량 |
---|---|
첫 단어 자동 완성 | 사전 파일 크기의 4배 |
첫 단어, 끝 단어 자동 완성 | 사전 파일 크기의 6배 |
첫 단어, 중간 단어, 끝 단어 자동 완성 | 사전 파일 크기의 10배 |
기본 서비스를 위한 메모리(512MB)와 자동 완성 서비스를 위한 추가 메모리량을 더하여 JVM의 초기 힙 메모리를 설정한다. 최대 힙 메모리는 초기 힙 메모리의 2배 혹은 초기 메모리 + 1024MB 중 적은 값을 택한다.
사전 파일의 크기 : 50MB
첫, 중간, 끝 단어 자동 완성 지원
필요한 초기 메모리 : 약 512 + 50 * 10 = 1012MB
대략 1GB로 초기 힙 메모리를 설정한다.
-Xms1024m -Xmx2048m
Apache Tomcat의 경우 catalina.bat 파일에
set JAVA_OPTS=-Xms1024m -Xmx2048m
를 추가, 혹은 catalina.sh에
JAVA_OPTS="-Xms1024m -Xmx2048m"
를 추가한다.