데이터 압축
NCache 클러스터와 클라이언트 노드 간의 데이터 트래픽을 제한하기 위해 데이터 압축을 제공합니다. 데이터 압축은 제한된 사용 가능한 메모리를 보다 효율적으로 활용하는 데 도움이 되는 압축 형식으로 데이터를 저장합니다. 기본적으로 데이터 압축은 비활성화되어 있습니다. 이는 다음을 사용하여 구성할 수 있습니다. NCache 관리센터.
데이터 압축을 활성화/비활성화하는 방법을 보려면 다음을 참조하십시오. 압축 구성 안내
데이터 압축을 사용하는 이유
데이터 압축은 여러 면에서 사용자에게 이점을 줍니다. 데이터를 압축하면 공간을 덜 차지하므로 메모리 소비가 줄어듭니다. 캐시에서 수행되는 작업은 읽기/쓰기 집약적이므로 압축을 사용하면 작업 성능이 더 빨라집니다. 네트워크에서 데이터를 전송하는 데 필요한 네트워크 이동 횟수가 줄어들어 전체 네트워크 비용이 줄어들고 결과적으로 시간 소모도 줄어듭니다.
데이터 압축 구성
변경 사항 NCache 압축 설정은 다음 구성에 영향을 미칩니다. config.ncconf 그에 따라 파일.
<compression enabled="true" threshold="500kb"/>
위에 언급된 예에서는 제공된 임계값보다 큰 크기의 항목을 클라이언트 측에서 압축/압축 해제해야 하는지 여부를 지정합니다.
enabled
: 압축을 활성화하려면 이 속성이 "True"로 설정됩니다. 이 속성이 "True"로 설정되지 않은 경우 압축이 비활성화됩니다. 기본적으로 모든 캐시에 대해 압축이 비활성화되어 있으므로 enabled
기본적으로 "False"입니다.
threshold
: 다음을 지정합니다. threshold
값. 이 값보다 큰 항목만 클라이언트 측(또는 경우에 따라 서버 측)에서 압축/압축 해제됩니다.
데이터 압축은 무엇을 합니까?
NCache 적용하다 GZip 압축 지정된 임계값보다 큰 모든 항목에 대해 데이터 압축이 활성화되면 NCache 관리센터. 이는 더 많은 메모리 저장 공간을 제공하고 네트워크 트래픽을 최소화합니다.
지정된 임계값보다 작은 크기의 객체에서는 NCache 압축을 적용하지 않습니다. 이러한 항목은 네트워크를 통해 이동하고 원래 크기로 캐시에 저장됩니다.
데이터 압축은 어디에서 발생합니까?
대부분의 경우 압축/압축 풀기는 클라이언트 측에서 발생합니다. 그러나 때로는 NCache 서버는 데이터 자체의 압축/압축 해제를 수행합니다.
클라이언트측 압축/압축 풀기
다음과 같은 경우 클라이언트 측 압축/압축 해제가 발생합니다. NCache 압축이 활성화되고 아래에 언급된 경우 중 하나가 발생하는 경우:
지정된 임계값보다 큰 크기로 클라이언트가 원격 서버로 보내는 항목의 경우 해당 항목을 캐시 서버로 보내기 전에 압축해야 합니다. 캐시 서버는 데이터 압축을 적용하지 않고 데이터만 저장합니다.
클라이언트가 압축된 데이터를 요청하면 캐시 서버는 압축을 풀지 않고 인터넷을 통해 압축된 형태로 데이터를 보냅니다. 클라이언트는 압축된 양식을 수신하고 데이터 자체의 압축을 풉니다.
서버측 압축/압축 풀기
다음과 같은 경우 서버 측 압축/압축 해제가 발생합니다. NCache 압축이 활성화되고 아래에 언급된 경우 중 하나가 발생하는 경우:
- 캐시 시작 로더 또는 Read-Thru 공급자를 통해 로드되고 크기가 지정된 임계값보다 큰 항목의 경우 이러한 항목은 NCache 섬기는 사람. NS NCache 서버는 데이터 소스에서 데이터를 수신한 후 캐시에 저장하기 전에 이 데이터를 압축합니다.
NCache 구성된 연속 쓰기 또는 뒤에 쓰기 공급자를 통해 데이터 소스에 기록해야 하는 압축 데이터를 데이터 소스로 보내기 전에 압축을 풉니다.
클라이언트 캐시의 데이터 압축
클라이언트 캐시는 자체적으로 데이터를 압축합니다. 서버와 클라이언트 캐시 모두 압축이 활성화된 경우 서버는 서버 임계값에 따라 데이터를 압축하고 클라이언트 캐시는 자체 임계값에 따라 데이터를 압축합니다. 둘 중 하나에서 압축이 비활성화된 경우에도 데이터는 활성화된 캐시에 대해서만 압축됩니다.
주의 사항
압축은 캐시 토폴로지와 무관합니다.