2011-05-16 4 views
2

검색을 위해 Lucene.Net을 사용하는 웹 사이트는 시간이 지남에 따라 점점 느려지고 있습니다. 1.5GB의 응용 프로그램 풀을 재활용하도록 IIS를 설정했습니다.Lucene.Net을 사용하여 시간이 지남에 따라 ASP.NET 응용 프로그램의 속도가 느려짐

재활용 후 앱이 다시 빠릅니다.

검색의 어느 부분이 문제를 일으키는 지 진단하는 가장 좋은 단계는 무엇입니까?

주목할만한 점은 응용 프로그램의 느린 속도로만 문제를 일으키는 검색입니다. 일반 페이지는 시간에 관계없이 정상적으로로드됩니다.

+0

그 사이에 사용자는 더 자주 재활용 할 수 있으므로 사용자는주의를 끌 수 없습니다. –

+0

어떤 버전의 Lucene을 사용하고 있습니까? – Kane

+0

@Kane 2.9.2.2는 – izip

답변

0

검색 코드를 분석 한 결과 속도가 너무 복잡하거나 명확하지 않은 경우 성능 모니터 (perfmon.exe)를 실행하고 결과를 기록하는 것으로 시작합니다. CPU 사용량, 메모리, 디스크 대기열, ASP.Net 특정 카운터 (요청 대기/요청/초) 및 CLR 카운터 (파이프 라인 인스턴스 수, 예외 발생, 컨텍스트 스위치/초 등)의 변화를 살펴보십시오.

평범한 것 (소리가 들려오는 동안 확인되지 않음)이 보이는 일부 항목에 집중하면 코드 문제를 좁힐 수 있습니다.

+0

은 검색 코드에서 아무 것도 발견 할 수 없으므로 헤드 스크래치입니다. perfmon을 사용하면 정확히 무엇을 찾고 있습니까? 내 응용 프로그램에 모든 예외를 기록하므로 버그가 있거나, 출시되지 않은 객체가 있거나 유사하지 않다고 생각하지 않습니다. 도트 추적과 같은 것을 사용하면 더 나은 도구가 될까요? – izip

0

큰 업데이트 후 색인을 최적화합니까? 이것은 실제로 성능을 향상시킬 수 있습니다.

+0

나는 그것을 일으키는 것을 발견했다. 내 필터/패싯 바인딩시. 나는 페이지를 100 번 요청하는 스크립트를 작성한 다음 구성 요소를 하나씩 제거하고 IIS 응용 프로그램 풀에서 메모리를 감시하여 진단했습니다. 내가 패싯을 제거하면 괜찮 았어. 지금 다른 방식으로이 작업을 수행하면 모든 것이 좋을 것입니다! – izip

관련 문제