성능에 부정적인 영향을 미칠 수 있는 유스 케이스
이 절에는 Contact Optimization 성능에 부정적인 영향을 줄 수 있는 여러 유스 케이스가 나열되어 있습니다.
오퍼 버전을 사용하는 규칙이 있는 스마트 오퍼 목록
오퍼 버전을 사용하는 규칙이 있는 스마트 오퍼 목록을 사용하는 경우 IO 집중적인 데이터 설정 섹션에서 추가 쿼리가 사용됩니다. 목록에 있는 오퍼 수가 많고 오퍼당 속성 수가 많은 경우 해당 쿼리를 실행하는 데 소요되는 시간이 길 수 있습니다.
고객 샘플당 반복의 최대치
Optimize|AlgorithmTuning|MaxIterationsPerCustomerSample 특성을 사용하여 각 고객 샘플에 사용할 최대 반복 수를 구성할 수 있습니다. 세션 레벨 고급 설정과 구성 특성을 모두 확인하십시오.
규칙과 데이터에 따라 고객 샘플이 이 한계에 도달하지 않을 수도 있습니다. 값이 크면 높은 레벨의 결과 최적성이 보장되지만 반복 수가 크면 성능 패널티를 정당화하기에 충분한 최적성 개선이 이루어지지 않는 경우가 많습니다. 일반적으로 다섯 번 반복하면 허용 가능한 수준의 최적성을 얻을 수 있으며 약 12회 이상의 반복이 필요한 경우는 드뭅니다.
고객 샘플 반복 동작을 분석하려면 Contact Optimization 로그를 검색하여 문자열 Iteration:을 찾으십시오. 이 로그 항목 뒤에 반복 내용을 나타내는 숫자가 표시됩니다. 각 청크는 반복 1에서 시작하여 계수됩니다. 로그에서 각 반복 수의 개수를 가져와 그 결과를 사용하여 히스토그램을 생성하면 상황을 이해하는 데 유용합니다.
많은 수의 처리할 수 없는 고객
성능의 또 다른 주요 요소는 처리할 수 없는 고객의 수입니다. Optimize|AlgorithmTuning|MaxAlternativesPerCustomerEvaluated 특성의 값이 큰 경우(100 이상) 고객을 처리할 수 없을 때마다 시간 패널티가 높아집니다.
처리할 수 없는 고객이 많은 경우 규칙 또는 데이터에서 논리 오류를 찾으십시오. 그러나 특히 고객당 제안된 트랜잭션 수가 많은 경우 몇몇 고객당 솔루션을 가져오는 데 필요한 시간이 깁니다. 이런 경우에는 성능을 개선하기 위해 처리할 수 없는 고객을 추가로 수락하여 MaxAlternativesPerCustomerEvaluated 매개변수의 값을 줄이는 것이 가장 좋습니다.
Contact Optimization 버전 7.5.3 이상에는 각 고객 샘플마다 평가된 대체 항목의 최소치, 최대치 및 평균치를 표시하는 자세한 로깅이 있습니다.
문제 해결 서브루틴 호출
고객당 규칙의 특정 조합을 사용하는 경우 주요 성능 패널티가 표시되는 경우가 있습니다. 이러한 상황은 최소치 제한조건이 0이 아닌 최소한 하나의 고객당 최소/최대 트랜잭션 수 규칙이 하나 이상의 패키지 규칙과 결합된 경우 발생할 수 있습니다.
*
이들 두 규칙을 사용하는 것 외에도 두 규칙 모두 동일한 제안된 트랜잭션에 적용되도록 규칙 범위가 겹쳐야 합니다. 또한 점수는 패키지 규칙의 선호 솔루션으로 인해 "최소/최대" 규칙이 해당 솔루션의 최소치 아래에 속하는 점수여야 합니다. 이와 같은 조건이 모두 충족되면 핵심 알고리즘이 효율적인 방법으로 최적의 결과를 찾을 수 없으며 문제 해결 엔진에 대해 느린 호출을 사용해야 합니다. 서버 로그에 문제 해결 서브루틴 매개변수:라는 메시지가 표시되면 이러한 조건이 발생한 것입니다.
"B를 포함한 A일 수 없음" 규칙 사용 시 성능 문제가 발생하는 경우 성능을 개선하는 가장 좋은 방법은 Contact Optimization 버전 7.5.3 이상으로 업그레이드하는 것입니다.
점수가 동일한 여러 경우
점수가 동일한 경우가 많으면 LRE에서 결정을 내리는 것이 때로 비효율적일 수 있습니다. 서버 로그에 생성된 추가 대체 항목:이라는 문자열이 있으면 이러한 상황이 발생한 것입니다.
이와 같은 상황이 발생하지 않도록 하려면 제안된 트랜잭션에 보다 다양한 점수를 지정하십시오.