저는 Apache Solr 프로젝트에서 일하고 있습니다. (클라우드 환경에서 배포 - Amazon ec2 인스턴스).Solr 캐싱 메커니즘에 대한 질문
나는 Solr이 결과를 캐싱하는 데 훌륭한 역할을한다는 것을 알고 있습니다. 같은 쿼리를 다시 실행하면 응답에 Solr QTime 0 또는 1 밀리 초가 표시됩니다.
저는 Solr 시스템을 테스트하고 싶습니다. 따라서 사용할 수있는 쿼리 목록이 제한되어 있습니다 (50,000 개의 고유 쿼리). 문제는 모든 쿼리가 캐싱된다는 것입니다.
스트레스 테스트 - 5 분 후 - 내 모든 쿼리는 Solr &에서 실행됩니다. 이렇게하면 시스템이 땀을 흘리게됩니다. (마녀가 목적이었습니다). 하지만 같은 쿼리를 다시 실행하면 QTime이 거의 0입니다! -> Solr은 쉬운 시간을 가지고 있습니다. &은 스트레스를받지 않습니다.
내 질문 : 어떻게 모든 Solr 캐시 (Solr 및 Lucence 캐시 모두)를 전환 할 수 있습니까? 또는 어떻게 캐시를 제한 할 수 있습니까?
나는 모든 Solr 인턴 캐시를 사용하려고 시도했지만 캐시는 여전히 유지됩니다. (QueryResultCache 및 FieldCache) 참고 : 구성에서는 Lucence가 내부 캐시를 관리한다고 언급합니다. 아마도이 캐시가 문제 일 수 있습니까?
모든 50,000 개의 쿼리를 캐시에 저장할 수 있다는 것은 이상한 일입니다.
+1. @ user519 ... 주석 처리가 도움이 될지 확실하지 않습니다. 크기를 0으로 설정하십시오. 어쨌든 : 캐시를 끄면 벤치 마크는 쓸모가 없다 !! – Karussell
나는 그것을 알고 있었다. 문제는 다음과 같습니다. 68,000 개의 고유 쿼리 (로그에서 검색)가 있습니다. 그러나 테스트에서 5 분 정도 지나면 모든 쿼리가 시스템에 공급되어 캐싱이 발생합니다. 더 긴 테스트를 원한다면 수백만 개의 쿼리가 필요합니까? 또는 Lucence/Solr 캐시의 쿼리 수는 얼마입니까? –
@Karussell은 정확하다고 생각합니다. 이것은 doc 페이지에서 인용 한 것입니다. "fieldValueCache가 solrconfig.xml에 선언되지 않은 경우 초기 크기 10, 최대 크기 10000, 자동 경고 없음으로 자동 생성됩니다." – JnBrymn