계산 시뮬레이션을 통해 계산 시간 예측
Essbase 블록 저장영역 큐브의 모델에서 계산을 시뮬레이션하여 실제 계산에 걸리는 시간을 추정할 수 있습니다. 이렇게 하려면 SET MSG ONLY 및 SET NOTICE HIGH를 사용하여 계산 스크립트를 실행하고 완료 시간을 기록한 다음 추정합니다.
계산 스크립트에서만 SET MSG를 사용하여 계산을 시뮬레이션할 수 있습니다. 시뮬레이션된 계산은 동일한 데이터 및 아웃라인을 기반으로 하는 실제 계산의 성능을 분석하는 데 도움이 되는 결과를 생성합니다.
SET NOTICE HIGH와 같은 명령을 사용하여 시뮬레이션된 계산을 실행하면 각 희소 차원이 완료되는 데 걸리는 상대 시간을 표시할 수 있습니다. 그런 다음 시뮬레이션된 계산을 실행하는 데 걸리는 시간은 실제 계산을 실행하는 데 걸리는 시간에 비례하기 때문에 하나 이상의 차원에서 실제 계산을 수행하여 전체 계산에 걸리는 시간을 추정할 수 있습니다.
예를 들어, 계산이 오전 9:50:00에 시작되고 첫 번째 알림이 오전 9:50:10에 시간 기록되고 두 번째 알림이 오전 9:50:20에 시간 기록되는 경우 계산의 각 부분이 10초가 걸린다는 것을 알 수 있습니다. 그런 다음 첫 번째 부분에서만 실제 계산을 실행하고 실행하는 데 30초가 걸렸음을 알면 다른 부분도 30초가 걸린다는 것을 알 수 있습니다. 총 두 개의 메시지가 있는 경우 실제 계산에 약 60초(20/10 * 30 = 60초)가 걸립니다.
다음 항목에서는 시뮬레이션된 계산을 수행하는 방법 및 시뮬레이션된 계산을 사용하여 계산 시간을 추정하는 방법을 알아봅니다.
계산 시뮬레이트
SET MSG ONLY 및 SET NOTICE HIGH 명령이 포함된 계산 스크립트를 실행하고 애플리케이션 로그에서 시간 기록을 기록하여 Essbase 블록 저장영역 큐브의 모델에서 계산을 시뮬레이션합니다.
계산 시간을 추정하려면 실제 큐브를 기반으로 하는 데이터 모델에 대해 시뮬레이션된 계산을 수행해야 합니다. 그런 다음 애플리케이션 로그를 확인하여 계산에 걸린 시간을 확인할 수 있습니다.
애플리케이션 로그를 찾을 위치를 알아보려면 Essbase 플랫폼의 환경 위치를 참조하십시오.
시뮬레이션된 계산을 수행하려면
산정 계산 시간
시뮬레이션된 계산 결과를 기록하고 이를 사용하여 Essbase 블록 저장영역 큐브에 대한 실제 계산 시간을 추정합니다.
총 계산 시간을 예측하려면 다음을 수행합니다.
추정 정확도에 영향을 주는 계수
Essbase 블록 저장영역 큐브의 시뮬레이션된 계산을 기반으로 하는 추정 정확도는 블록 밀도 및 아웃라인 구조와 같은 요인에 의해 영향을 받을 수 있습니다.
변형을 유발하는 주요 요소가 없는 경우 시뮬레이션된 계산은 약 5%까지 정확한 시간을 반환해야 합니다.
이러한 요소가 존재하는 경우 이 예측 기법은 Essbase가 시뮬레이션된 계산의 30%–40%에 도달할 때(SET NOTICE HIGH에 의해 생성된 메시지의 30%–40%) 계산 시간을 보다 면밀히 예측합니다.
영향 체인으로 인한 변동
SET MSG ONLY를 계산 시간 예측 기법으로 사용하면 이후의 CALCNOTICE 간격에 대해 검증해야 합니다. 이 예측 기법의 결과는 다음과 같은 영향 체인에 따라 다릅니다.
-
블록은 실제 통합 프로세스를 통해 블록 밀도가 다르므로
-
따라서 Essbase가 디스크에 블록을 기록하는 속도가 서로 다릅니다.
-
따라서 캐시에서 블록이 처리되는 속도가 서로 다릅니다.
-
실제 결과는 예측된 계산 시간과 다를 수 있습니다.
아웃라인 구조로 인한 변동
실제 결과를 예측 결과와 크게 다를 수 있는 또 다른 요소는 아웃라인 구조입니다. CALCNOTICE 간격에 따라 계산은 아웃라인 전체에서 균등하게 균형 잡힌 처리 시간을 가정합니다. 이 잔액을 비대칭시킬 수 있는 요소에는 다음과 같은 상황이 포함됩니다.
-
모델에는 다른 희소 치수와 관련하여 큰 희소 치수가 하나 또는 두 개 포함되어 있습니다.
-
차원이 클수록 멤버 구성이 있어 여러 공유 롤업이 발생합니다.
결과에 따라 아웃라인 변경
Essbase 블록 저장영역 큐브 모델의 시뮬레이션된 계산을 추정하고 분석한 후에는 아웃라인을 변경하여 성능을 향상시킬 수 있습니다.
아웃라인의 맨 위에서 맨 아래로 희소 차원을 정렬하여 상위 블록의 백분율 증가를 가장 적게 생성합니다.
-
전체 모델 로드 후 레벨 0 블록: 100,000
-
희소 차원만 통합한 후 상위 레벨 블록 1: 1,000,000
-
희소 차원만 통합한 후 상위 레벨 블록 2: 3,000,000
-
희소 차원만 통합한 후 상위 레벨 블록 3: 10,000,000
-
희소 차원만 통합한 후 상위 레벨 블록 4: 300,000
-
희소 차원만 통합한 후 상위 레벨 블록 5: 5,700,000
예:
-
#4 (멤버 = 10,000, 4 레벨)
-
#1(멤버 = 500, 2 레벨)
-
#2(멤버 = 100, 4 레벨)
-
#5 (멤버 = 10,000, 4 레벨)
-
#3 (멤버 = 20, 플랫)
시뮬레이션된 계산을 사용하여 상한 블록 수를 생성합니다. 이러한 숫자는 위의 항목 옆에 명시된 실제 치수 크기에도 불구하고 정확할 수 있습니다.
주의:
멤버의 가장 큰 수는 항상 좋은 예측자가 아닙니다.
하이브리드 모드를 사용하는 것이 좋습니다. 하이브리드 모드 큐브에서는 차원 순서를 재배열하는 대신 해결 순서를 쉽게 사용자정의할 수 있습니다.