Skip to main content
Weave는 반복 쿼리를 수행하거나 네트워크 대역폭이 제한된 환경에서 성능을 향상하기 위해 서버 응답 캐싱을 제공합니다. 현재 이 기능은 기본적으로 비활성화되어 있지만, 향후 릴리스에서는 기본 동작이 될 예정입니다.

캐싱을 사용해야 하는 경우

서버 응답 캐싱은 특히 다음과 같은 경우에 유용합니다.
  • 동일한 쿼리를 자주 실행하는 경우
  • 네트워크 대역폭이 제한적인 경우
  • 지연 시간이 긴 환경에서 작업하는 경우
  • 오프라인으로 개발하면서 나중에 사용할 응답을 캐싱하려는 경우
이 기능은 데이터셋에 대해 반복적으로 평가를 실행할 때 특히 유용하며, Runs 간에 데이터셋을 캐싱할 수 있습니다.

캐싱 활성화 방법

캐싱을 활성화하려면 다음 환경 변수를 설정하세요:

캐싱 동작

기술적으로 이 기능은 서버에 대한 멱등 요청을 캐싱합니다. 구체적으로 다음 요청을 캐싱합니다.
  • obj_read
  • table_query
  • table_query_stats
  • refs_read_batch
  • file_content_read

캐시 크기 및 저장 공간 세부 정보

캐시 크기는 WEAVE_SERVER_CACHE_SIZE_LIMIT(바이트 단위)으로 제어됩니다. 실제로 사용되는 디스크 공간은 다음 세 가지 구성 요소로 이루어집니다.
  1. 크기가 고정된 32KB 체크섬 파일
  2. 실행 중인 클라이언트당 최대 약 4MB의 쓰기 전 로그(WAL) 파일(프로그램 종료 시 자동으로 삭제됨)
  3. 최소 32KB, 최대 WEAVE_SERVER_CACHE_SIZE_LIMIT인 기본 데이터베이스 파일
총 디스크 사용량:
  • 실행 중: >= 32KB + ~4MB + 캐시 크기
  • 종료 후: >= 32KB + 캐시 크기
예를 들어 캐시 제한이 5MB인 경우:
  • 실행 중: 최대 ~9MB
  • 종료 후: 최대 ~5MB