2011-10-12 3 views
3

Drools 규칙 집합에서 규칙 소요 시간을 기록/모니터링하는 방법이 있습니까?어떻게 졸졸 성능을 향상시킬 수 있습니까?

하나의 규칙이 두 번 이상 실행되지 않았는지 확인하는 방법이 있나요은 (그것은 내 사건에서 어떤 일이 일어나고있는 것 같다)

Drools가 성능을 향상에 대한 일반적인 가이드 라인은 무엇입니까?

현재 100 개의 홀수 규칙이있는 단일 DRL 파일을 사용하고 있습니다.

필요한 추가 정보가 제공됩니다.

+0

규칙 집합의 실행 시간은 얼마나됩니까? 너 말해 줄 수있어? – Kizz

+0

응답 지연으로 불편을 끼쳐 드려 죄송합니다. 이제 성능 문제로 돌아가 다른 문제가 있습니다. 현재 유효성을 검사중인 주 레코드의 1000 레코드에 대해 규칙 당 약 60 초가 걸립니다. 이것은 너무 높습니다. 규칙 세트를 몇 가지 규칙으로 가져 오면 1000 레코드에 10 초가 걸립니다. 일부 규칙이 너무 오래 걸리는 것처럼 보입니다 (DB 호출이 있습니다). 그래서 규칙 집합에서 어떤 일이 벌어지고 있는지에 대한 통찰력을 얻으 려합니다. 시간이 더 걸리며, 메모리 누수가 발생하는 경우 등이 있습니다. 감사. – arrehman

답변

4

목표가 규칙 실행을 기록/모니터링하는 것이라면 AgendaEventListener (http://docs.jboss.org/drools/release/5.3.0.CR1/drools-expert- docs/html_single/index.html # d0e2003) Drools MBean을 활성화하여 원하는 JMX 콘솔을 사용하여 Drools 애플리케이션을 모니터링하십시오. MBean은 규칙 통계 및 요약 통계를 제공합니다.

성능을 향상시키는 방법은 매우 광범위한 질문이며 대답은 내가 대답 할 수있는 것보다 훨씬 길지만 짧은 버전은 다음과 같습니다. Drools와 같은 규칙 엔진은 관계형 데이터베이스와 비슷한 관계형 엔진이지만 목표는 다릅니다 최적화. 그럼에도 불구하고 동일한 원칙이 많이 적용되며, 먼저 엄격한 제약 조건을 가진 규칙을 작성하고 여러 규칙 사이에 제약 조건을 공유하고 유추/연결을 올바르게 사용하여 성능을 향상시킬 수 있습니다.

샌프란시스코 지역에 거주하는 경우 다음 주 규칙 페스티벌 (http://rulesfest.org/html/home)에서 무료 Drools 부트 캠프 (하지만 등록 필요)가 있습니다. html)에서 우리는 많은 관련 주제를 발표 할 것입니다.

+0

감사합니다. Drools JMX를 사용하도록 설정했습니다. 이 기능을 활성화하는 방법에 대한 정보를 제공 할 수 있습니까? – arrehman

+0

지식베이스 구성 MBeansOption.ENABLED를 사용하거나 시스템 등록 정보 drools.mbeans = enabled를 설정하십시오. –

+0

감사합니다. 완벽하게 작동합니다. – arrehman

관련 문제