Narzędzia "Poziom odniesienia", "Pamięć podręczna obliczeń", "Kolejność rozwiązywania", "Rozkład danych" z grupy "Optymalizacja kostki" pozwalają dostrajać kostki w celu zapewnienia lepszej ich wydajności.
Narzędzie | Zwracane dane |
---|---|
Poziom odniesienia | Miary wydajności kostki |
Kolejność rozwiązywania | Kolejność rozwiązywania elementów w kostce |
Pamięć podręczna obliczeń | Dane pomagające wybrać optymalne ustawienie pamięci podręcznej obliczeń dla kostki |
Rozkład danych | Dane pomagające wybrać, które wymiary uczynić gęstymi, a które — rzadkimi |
Miary śledzone przez narzędzie "Poziom odniesienia" pokazują sposób funkcjonowania systemu. Za ich pomocą można ustalić wydajność stanowiącą poziom odniesienia, a następnie mierzyć korzyści wynikające z dokonywanych optymalizacji.
Przed przystąpieniem do używania tego narzędzia należy utworzyć skoroszyt aplikacji, obejmujący strukturę, ustawienia konfiguracyjne, skrypty obliczeń i zapytania, które mają zostać zawarte w kostce.
Uruchomione narzędzie konstruuje kostkę, ładuje wybrane pliki danych, wykonuje wybrane skrypty obliczeń oraz uruchamia zapytania zawarte w skoroszycie aplikacji. Ważne jest uzyskanie — od użytkowników — reprezentatywnej próbki zapytań.
Narzędzie "Poziom odniesienia" tworzy pulpit informacyjny obejmujący aplikację i procesy operacyjne, pomagający projektować i optymalizować kostkę. W miarę wprowadzania zmian i ponownego konstruowania kostki pomaga porównywać iteracje modyfikacji kostki. Narzędzie "Poziom odniesienia" dołącza w arkuszu Essbase.Stats.Baseline skoroszytu aplikacji nowe tabele z najnowszymi danymi dla każdej iteracji.
Przygotowanie do uruchomienia narzędzia "Poziom odniesienia" w celu optymalizacji kostki w trybie hybrydowym
Przed uruchomieniem narzędzia "Poziom odniesienia" należy:
Można pobrać przykładowy skoroszyt aplikacji, a następnie odpowiednio go zmodyfikować. Zob. Eksplorowanie szablonów z galerii.
Jeśli arkusze zapytań będą zawierać metadane z innego serwera, Cube Designer wyświetli ostrzeżenie i wstrzyma przetwarzanie w oczekiwaniu na reakcję użytkownika.
Ustawienie | Wartość |
---|---|
ASODYNAMICAGGINBSO | FULL |
HYBRIDBSOINCALCSCRIPT | NONE |
INDEXCACHESIZE | 100M |
DATACACHESIZE | 100M |
ASODEFAULTCACHESIZE | 100 |
MAXFORMULACACHESIZE | 102400 |
INPLACEDATAWRITEMARGINPERCENT | 20 |
CALCCACHEDEFAULT | 200000 |
LONGQUERYTIMETHRESHOLD | -1 |
Uruchamianie narzędzia "Poziom odniesienia" w celu optymalizacji kostki w trybie hybrydowym
Narzędzie "Poziom odniesienia" identyfikuje wymiary gęste i rzadkie, wielkość danych (rozmiary plików PAG i IND), rozmiar bloków oraz rozmiary pamięci podręcznej danych, indeksu i obliczeń. Dodatkowo dostarcza miar ładowania danych, obliczeń i zapytań.
Aby uruchomić narzędzie "Poziom odniesienia", należy:
Arkusze obliczeń są uruchamiane w kolejności, w jakiej występują w skoroszycie aplikacji. Podczas operacji optymalizacji kostki jest ignorowana właściwość Wykonaj obliczenia (Execute Calc) z arkuszy obliczeń.
Przy optymalizacji kostki są obsługiwany tylko skrypty obliczeń, które (skrypty) można uruchomić z obszaru "Zlecenia". Nie można uruchomić skryptów obliczeń, które są zależne od bieżącego kontekstu tabeli Smart View (na przykład obliczeń zdefiniowanych za pomocą funkcji @GRIDTUPLES lub używających zmiennych substytucyjnych trybu wykonawczego, zdefiniowanych za pomocą znaczników <svLaunch>).
Jeśli w skoroszycie aplikacji nie ma arkusza danych, zostanie wyświetlone wezwanie do wybrania (z Katalogu) plików danych i reguł. Dobrą praktyką jest przechowywanie plików danych i reguł w katalogu współużytkowanym, dzięki czemu nie nastąpi ich utrata, gdy kostka będzie ponownie konstruowana.
Skonstruowanie kostki zajmuje trochę czasu.
Essbase generuje arkusz Essbase.Stats.Baseline i dodaje go do skoroszytu.
Zmiana wymiaru z dynamicznego na składowany zmniejsza tę ilość.
Należy sprawdzić kolejność rozwiązywania elementów obliczanych oraz dokonać zmian zmniejszających liczbę wykonań formuł i poprawiających wydajność albo rozważyć składowanie elementu obliczanego, zawierającego formuły w celu zmniejszenia liczby wykonań formuł i poprawy wydajności.
Narzędzie "Kolejność rozwiązywania" dostarcza wizualną reprezentację kolejności rozwiązywania używanej w aplikacji. Może pomóc zdiagnozować problemy z wydajnością zapytań, związane z formułami.
Aby uruchomić narzędzie "Kolejność rozwiązywania", należy:
Używając informacji z arkusza Essbase.Stats.SolveOrder, można dostosować kolejność rozwiązywania w celu optymalizacji działania zapytania. Zob. Optymalizacja kostki pod kątem trybu hybrydowego i Kolejność rozwiązywania w trybie hybrydowym.
Narzędzie "Pamięć podręczna obliczeń" rekomenduje optymalne ustawienie pamięci podręcznej obliczeń dla kostki.
Zastosowanie odpowiedniego ustawienia pamięci podręcznej obliczeń może okazać się istotnym usprawnieniem, gdy przy użyciu skryptu obliczeń są obliczane całe wymiary rzadkie. Obliczanie całego wymiaru rzadkiego jest techniką redukcji liczby bloków wymaganych przez zapytanie.
Wartością domyślną pamięci podręcznej obliczeń jest 200 000 bajtów. Wartość maksymalna wynosi 20 000 000 bajtów.
Pamięć podręczną obliczeń powinna być ustawiana na tyle dużą, aby pomieściła wymiary rzadki obliczane przy użyciu skryptu obliczeń. Ustawienie pamięci podręcznej obliczeń na większą niż potrzebna ma negatywny wpływ na wydajność.
Najlepszy wyborem jest zazwyczaj największy wymiar.
Algorytm pamięci podręcznej obliczeń wybiera — do umieszczenia w niej — wymiary rzadkie, zaczynając od pierwszego wymiaru rzadkiego.
Kostka, aby działała, musi zostać skonstruowana dla narzędzia "Pamięć podręczna obliczeń".
Narzędzie wyświetli, obok każdego wymiaru właściwe ustawienie pamięci podręcznej, aż do 20 MB. Przy przekroczeniu wartości 20 MB zostanie wyświetlony wpis ND (N/A). Generalnie nie są potrzebne ustawienia większe niż kilka MB.
Dodać tę wartość do sekcji "Application Settings" arkusza Cube.Settings. Alternatywnie można ustawić tę wartość w konfiguracji aplikacji, używając internetowego interfejsu Essbase. Dobrą praktyką jest zaokrąglenie wartości w górę, w celu zapewnienia pewnego marginesu.
Narzędzie "Rozkład danych" pomaga lepiej zrozumieć dane w aplikacji, ułatwiając podejmowanie ważnych decyzji dotyczących sposobu optymalizacji kostki.
Wymiary gęste definiują bloki w aplikacji z wolumenem blokowym. Idealnie blok powinien zawierać wymiary z większością danych i reprezentować główny układ zapytań tej aplikacji. W przypadku aplikacji Financial Reporting zazwyczaj oznacza to, że wymiary "Czas" i "Konto" powinny być wymiarami gęstymi.
Jednym z czynników wpływających na wydajność zapytania jest liczba żądanych przez niego bloków. Jeśli liczba żądanych bloków jest zbyt duża, wydajność zapytania ulega pogorszeniu. Aby zmniejszyć liczbę żądanych bloków, można wstępnie obliczyć elementy poziomu górnego, pochodzące z jednego lub większej liczby wymiarów rzadkich. Najpierw należy ustawić atrybut składowania wymiaru (dla elementów poziomu górnego) na atrybut składowania "Składuj" lub "Nigdy nie udostępniaj", po czym uruchomić skrypt obliczeń agregujący ten wymiar z użyciem polecenia CALC DIM albo AGG.
Aby zoptymalizować skrypt obliczeń używany do agregacji składowanych wymiarów rzadkich, należy użyć polecenia FIXPARALLEL. Ważne jest wybranie odpowiednich wymiarów dla tego zadania. Wymiar zadania jest to wymiar decydujący o podziale obliczenia na wątki i wykonywaniu ich równolegle. Aby ograniczyć liczbę pustych zadań, co najmniej jeden z wymiarów powinien zawierać większość danych, przy czym — idealnie — dane te powinny być równomiernie rozłożone.
Ten proces może być długo wykonywany, zwłaszcza przy większych modelach.