데이터베이스 캐시

사용자, 서버 또는 API 프로그램이 서버에서 데이터베이스를 열고 닫을 때 일어나는 지연을 최소화하기 위해 각 서버는 데이터베이스 캐시를 유지합니다. 데이터베이스가 종료되고 데이터베이스를 사용하는 사용자 또는 프로세스가 없는 경우, Domino®는 데이터베이스를 신속히 닫을 수 있도록 데이터베이스를 캐시에 넣습니다. 캐시에 들어가는 순서에 상관없이 데이터베이스는 다시 열 때까지 또는 15 - 20분 정도 캐시에 남아 있습니다. 캐시의 데이터베이스는 빠르게 열릴 수 있습니다.

데이터베이스 캐시는 컴퓨터에서 시작하는 첫번째 프로세스 및 컴퓨터에서 나가는 모든 프로세스에서 사용 가능합니다. 권장하지 않는 구성이지만 Domino® Administrator 및 Domino® 서버를 동일한 시스템에서 실행하는 경우, Domino® Administrator를 시작하기 전에 서버를 시작합니다. Domino® Administrator를 먼저 시작하는 경우, 캐시를 소유하고 Domino® 서버가 캐시를 효율적으로 사용하지 못하도록 합니다.

기본적으로, 캐시가 동시에 저장할 수 있는 데이터베이스 수는 다음 값보다 큽니다.

  • 300K로 나눈 NOTES.INI 파일의 NSF_Buffer_Pool_Size 설정 값
  • 25

이 제한을 변경하려면, NSF_DbCache_Maxentries 설정을 NOTES.INI 파일에 추가하거나 실제 메모리를 증가시키십시오. 데이터베이스 캐시 크기를 늘리면 시스템 성능이 향상되지만 메모리가 추가로 필요합니다. 한 번에 캐시에 허용되는 최소 데이터베이스 수는 25입니다. 최대값은 2,000입니다.

캐시에 허용된 데이터베이스의 실제 수는 허용되는 최대 수의 1.5배입니다. 이 버퍼는 사용자가 캐시에서 데이터베이스를 여는 횟수를 늘리고, Domino®는 사용자가 데이터베이스를 닫을 때 데이터베이스를 캐시로 리턴할 수 있습니다.

데이터베이스는 필요한 쓰기 수행, 메모리 비할당 및 데이터베이스를 닫기 위해 다른 태스크를 완료하는 "ager" 스레드에 의해 캐시에서 삭제됩니다. 이 프로세스는 15분에서 20분 동안 일어납니다. 이상적으로, 데이터베이스는 캐시에 허용된 최대 데이터베이스 수를 초과하지 않고 새 데이터베이스를 추가할 수 있는 시간에 캐시로부터 삭제됩니다. 그러나 최대값이 초과되는 경우, 다음 상황 중 하나가 발생합니다.

  • 캐시의 데이터베이스 수가 허용된 최대 수의 1.5배 미만인 경우, 데이터베이스가 종료될 때 캐시에 추가되고 ager는 허용된 최대 수로 데이터베이스 수를 줄입니다. 이러한 수행은 서버 I/O 하위 시스템의 작업량과 캐시 자원의 경쟁을 증가시킵니다.
  • 현재 캐시에 있는 데이터베이스 수가 허용된 최대수의 1.5배 이상인 경우, 데이터베이스가 종료될 때 Domino®는 캐시에 데이터베이스를 넣지 않습니다. 대신 속도는 느리지만 캐시하지 않는 방법을 사용하여 데이터베이스를 닫습니다. 그리고 다음 번에 사용자 또는 프로세스가 데이터베이스를 열 때 Domino®는 캐시가 아닌 디스크에서 데이터베이스를 읽기 때문에, 데이터베이스가 캐시에 있는 경우보다 열리는 속도가 더 느립니다.