2016-11-03 7 views
0

Solr 성능 테스트를 테스트하는 작업이 있습니다. 나는 Solr에게 완전히 익숙하지 않으며 여기서 테스트를 수행하는 방법을 모르고있다. 우리가 사용하고있는 Solr은 많은 RAM과 CPU를 사용하고 있습니다. 이로 인해 응용 프로그램이 멈추고 서버 오류 메시지가 전송됩니다.Solr 성능 테스트를 수행하는 방법은 무엇입니까?

여러 개의 동시 스레드를 만드는 데 도구가 필요한 경우 Solr을 테스트하는 방법은 무엇입니까?

답변

1

탐색 Solr Quick Start 가이드

에 따르면

SOLR는 REST 클라이언트를 통해 조회 할 수 있습니다, 컬, 등 wget과, 크롬 POSTMAN,뿐만 아니라 많은 사용할 수있는 네이티브 클라이언트를 통해 프로그래밍 언어.

따라서 "평범한"HTTP Request 샘플러를 사용하여 Solr을 사용하여 여러 사용자를 모방 할 수 있습니다.

참고 :

+0

사운드를 잘 알면 실시간 시나리오를 통해 나를 설명 할 수 있습니까? jmeter를 사용하여 Solr에 대한 테스트를 수행하려면 어떻게해야합니까? – user5408418

+0

먼저 부하 테스트는 실제 사용자 또는 응용 프로그램에서 예상되는 Solr 인스턴스를 시뮬레이트해야합니다. 완료되면 응답 시간이 허용 임계 값을 초과하기 시작할 때까지 시뮬레이트 된 가상 사용자 수를 점차 늘리거나 오류가 발생하기 시작합니다. –

0

가장 중요한 것은 쿼리를 테스트하는 방법을하지 -하지만 당신이 검사 할 시나리오를 올리는 진짜를 mimicks 당신이 보는 시간 응용 프로그램 사용법.

처음에는 테스트를 통해 원하는 것을 결정해야합니다. 병목 현상을 찾으시겠습니까? 현재 설정이 비즈니스 요구 사항과 일치 할 수 있는지 알아 보시겠습니까? 현재 아키텍처와 설정의 단점을 찾아야합니까?

많은 CPU를 사용하는 Solr은 종종 색인 생성과 관련이 있으며 메모리 사용은 세그먼트 병합과 관련 될 수 있습니다. 따라서 시나리오를 정의해야하는 것처럼 들립니다.

  • 색인 생성을 수행하기 위해 Solr에게 얼마나 많은 콘텐츠를 푸시해야합니까?
  • 얼마나 많은 검색어를 보내야합니까?
  • 쿼리 (패싯, 강조 표시, 맞춤법 검사 등)의 기능은 무엇입니까?
+0

데이터로드를 식별하여 앱을 느리게 만듭니다. 서로 다른 엔티티가 연결된 엄청난 항목이 있습니다. – user5408418

0

검색 응용 프로그램의 경우 일반적으로 요청의 양은 쿼리 프로필만큼 중요하지 않습니다. 많은 내부 캐싱이 진행되며 괜찮은 성능 테스트를 수행하는 유일한 유용한 방법은 실제 쿼리 로그를 사용하여 사용자를 나타내는 쿼리 프로필을 복제하는 것입니다. 또한 Solr 서버에있는 실제 데이터를 사용해야하므로 필드와 값에 대해 동일한 카디널리티에 가깝게 접근 할 수 있습니다.

이것은 동일한 종류의 쿼리와 같은 종류의 동시로드를 사용한다는 것을 의미합니다. 프로덕션에서 볼 수있는 부하를 넘어서 며칠 동안 하루 동안 로그를 사용하고 싶을 것입니다. (그리고 평일과 주말을 꼭 지키십시오. 특히 전자 상거래를위한 검은 금요일 해당 로그를 계속 사용하여 해당 프로필을 복제 할 수 있습니다.

Solr에 HTTP 요청을 수행하는 도구가 많이 있지만 실제로 Solr을 사용하는 방법을 나타내는 쿼리 프로필과 쿼리 집합을 사용해야합니다. 그렇지 않으면 각각 쿼리 캐시를 사용하고 있습니다. 일회성 또는 데이터 집합의 실제 데이터를 나타내지 않는 데이터가있는 경우 - 무관 한 응답 시간을 제공합니다 (즉, 무작위 데이터는 토큰이 문서 위에 반복되는 실제 영어 텍스트보다 훨씬 많이 수행됩니다).

0

solr 미터를 사용하여 성능 테스트를 수행 할 수 있습니다. 여기 읽어 solr meter wiki

0

당신은 당신의 검색 응용 프로그램의 처리량을 테스트하기 위해 JMeter를 사용할 수 및 각 SOLR 인스턴스에 IO, 부하, CPU 사용량 & 램 사용량을 확인 할 수있다.

관련 문제