Utilitarele de optimizare a cuburilor, cum ar fi Bază de optimizare cub, Memorie cache pt. calcul, Ordine de rezolvare şi Distribuţie date, vă ajută să optimizaţi cuburile pentru o performanţă mai bună.
Utilitar | Date returnate |
---|---|
Bază de optimizare cub | Metrici de performanţă pentru cub |
Ordine de rezolvare | Ordinea de rezolvare pt. membrii din cub |
Memorie cache pt. calcul | Date care vă ajută să alegeţi cea mai bună valoare pt. memoria cache de calcul pt. cub |
Distribuţie date | Date care vă ajută să alegeţi dimensiunile pe care să le faceţi dispersate şi cele pe care să le faceţi dense |
Metricele urmărite de utilitarul Bază de optimizare cub arată performanţa sistemului. Utilizaţi aceste metrice pt. a stabili performanţa de bază şi apoi pt. a măsura beneficiile optimizărilor ulterioare pe care le faceţi.
Înainte de a utiliza acest utilitar, mai întâi creaţi un registru de lucru al aplicaţiei, inclusiv structura, setările de configuraţie, script-urile de calcul şi interogările pe care doriţi să le includeţi în cub.
Atunci când rulaţi utilitarul, acesta generează cubul, încarcă fişierele de date selectate, execută script-urile de calcul selectate şi rulează interogările din registrul de lucru al aplicaţiei. Este important să aveţi un eşantion reprezentativ cu interogări de la utilizatorii dvs.
Utilitarul Bază de optimizare cub creează un dashboard cu aplicaţia şi procesele operaţionale, care vă pot ajuta să proiectaţi şi să optimizaţi cubul. Pe măsură ce implementaţi modificările şi re-generaţi cubul, utilitarul de bază vă ajută să comparaţi iteraţiile de modificări ale cubului. Pe fila Essbase.Stats.Baseline din registrul de lucru al aplicaţiei, utilitarul Bază de optimizare cub adaugă tabele noi cu cele mai recente date pt. fiecare iteraţie.
Pregătirea pentru rularea utilitarului Bază de optimizare cub pe un cub în modul Hibrid
Finalizaţi aceste sarcini înainte de a rula utilitarul Bază de optimizare cub:
Pt. a crea un registru de lucru al aplicaţiei, puteţi descărca un registru de lucru eşantion de aplicaţie şi apoi îl puteţi modifica pt. a se potrivi nevoilor dvs. Consultaţi Explorarea şabloanelor de galerii.
În cazul în care foile de interogare au metadate dintr-un server diferit, Cube Designer afişează un avertisment şi pune procesarea în pauză până când răspundeţi.
Setare | Valoare |
---|---|
ASODYNAMICAGGINBSO | FULL |
HYBRIDBSOINCALCSCRIPT | NONE |
INDEXCACHESIZE | 100M |
DATACACHESIZE | 100M |
ASODEFAULTCACHESIZE | 100 |
MAXFORMULACACHESIZE | 102400 |
INPLACEDATAWRITEMARGINPERCENT | 20 |
CALCCACHEDEFAULT | 200000 |
LONGQUERYTIMETHRESHOLD | -1 |
Rularea utilitarului Bază de optimizare cub pe un cub în modul Hibrid
Utilitarul Bază de optimizare cub identifică dimensiunile dense şi dispersate, dimensiunea datelor (dimensiuni de fişiere PAG şi IND), dimensiunea blocului, precum şi dimensiunile memoriei cache pt. date, index şi calculator. În plus, oferă metrice pt. încărcarea de date, calcul şi interogare.
Pt. a rula utilitarul Bază de optimizare cub:
Foile de lucru de calcul rulează în ordinea în care apar în registrul de lucru al aplicaţiei. Optimizare cub ignoră proprietatea Executare Calcul de pe foile de calcul.
Doar script-urile de calcul care pot fi rulate din Joburi sunt suportate pt. Optimizare cub. NU puteţi rula script-uri de calcul care depind de contextul grilă Smart View curent (de exemplu, calcule definite cu ajutorul funcţiei @GRIDTUPLES sau cele care utilizează variabile de substituţie la runtime definite cu <svLaunch> taguri).
Dacă nu aveţi o foaie de date în registrul de lucru al aplicaţiei, vi se va solicita să selectaţi fişiere de date şi de reguli din catalog. Este bine să stocaţi fişierele de date şi de reguli într-un director partajat în catalog, astfel încât fişierele să nu se piardă atunci când reconstruiţi cubul.
Construcţia cubului va lua un timp.
Essbase generează foaia Essbase.Stats.Baseline şi o adaugă la registrul de lucru.
Modificarea unei dimensiuni din dinamică în stocată reduce acest volum.
Verificaţi ordinile de rezolvare ale membrilor calculaţi şi efectuaţi modificări pt. a reduce numărul de execuţii ale formulelor şi pt. a îmbunătăţi performanţa, sau luaţi în calcul stocarea unui membru calculat care conţine formule, pt. a reduce numărul de execuţii ale formulelor şi pt. a îmbunătăţi performanţa.
Utilitarul Ordine de Rezolvare vă oferă o reprezentare grafică a fluxului de ordine de rezolvare utilizat în aplicaţie. Acest lucru poate ajuta la diagnosticarea problemelor de performanţă a interogării legate de formule.
Pt. a rula utilitarul Optimizare ordine de rezolvare cub:
Utilizaţi informaţiile din foaia Essbase.Stats.SolveOrder pt. a ajusta ordina de rezolvare pt. a optimiza performanţa interogării. Consultaţi Optimizarea cubului pt. modul Hibrid şi Ordinea de rezolvare în modul Hibrid.
Utilitarul Calc Cache recomandă setarea optimă de memorie cache a calculatorului pt. cub.
Utilizarea setării corecte de memorie cache a calculatorului poate fi o îmbunătăţire importantă de performanţă atunci când se calculează dimensiuni dispersate complete într-un script de calcul. Calcularea unei întregi dimensiuni dispersate este o tehnică de reducere a numărului de blocuri cerute de o interogare.
Valoarea prestabilită a memoriei cache a calculatorului este de 200.000 de bytes. Valoarea maximă este de 20.000.000 de bytes.
Memoria cache a calculatorului ar trebui setată astfel încât să fie suficient de mare pentru a conţine dimensiunile dispersate calculate în script-ul de calcul. Setarea memoriei cache a calculatorului la o valoare mai mare decât este nevoie poate avea un impact negativ asupra performanţei.
Cea mai bună alegere este de obicei dimensiunea cea mai mare.
Algoritmul memoriei cache a calculatorului selectează dimensiunile dispersate de plasat în memoria cache, începând cu prima dimensiune dispersată.
Pentru ca utilitarul Calc Cache să funcţioneze, cubul trebuie să fie generat.
Utilitarul afişează setarea de memorie cache corectă lângă fiecare dimensiune de până la 20 MB. Peste 20 MB, afişează N/A. În general, nu sunt necesare setări mai mari de câţiva MB.
Adăugaţi această valoare la secţiunea Setări aplicaţie din registrul de lucru Cube.Settings. În mod alternativ, puteţi seta valoarea în setările de configuraţie ale aplicaţiei din interfaţa web Essbase. Este bine să rotunjiţi în sus, pentru a permite un pic mai mult loc de manevră.
Utilitarul de distribuţie a datelor vă ajută să înţelegeţi mai bine datele dintr-o aplicaţie, ceea ce vă permite să luaţi decizi importante legate de modul în care să vă optimizaţi cubul.
Dimensiunile dense definesc blocurile dintr-o aplicaţie de stocare de blocuri. În mod ideal, un bloc ar trebui să conţină dimensiunile cu cele mai multe date şi să reprezinte macheta de interogare predominantă pt. aplicaţia respectivă. Pt. aplicaţiile de raportare financiară, acest lucru înseamnă de obicei că dimensiunile Timp şi Cont trebuie să fie dense.
Unul dintre factorii care afectează performanţa unei interogări este numărul de blocuri solicitate de către interogare. Dacă numărul de blocuri solicitate este prea mare, performanţa interogării are de suferit. Pt. a reduce numărul de blocuri solicitate, pre-calculaţi membrii de nivel superior din una sau mai multe dimensiuni dispersate. În primul rând, setaţi atributul de stocare al dimensiunii pt. membrii de nivel superior la un atribut stocat (Stocare sau Niciodată partajat), apoi rulaţi un script de calcul care agregă dimensiunea respectivă, utilizând fie CALC DIM, fie AGG.
Pt. a optimiza scriptul de calcul utilizat pt. agregarea dimensiunilor dispersate stocate, utilizaţi comanda FIXPARALLEL. Este important să selectaţi dimensiunile corecte de sarcini. O dimensiune a sarcinii este una care stabileşte modul în care calculul se împarte în fire şi se execută în paralel. Una sau mai multe dimensiuni dispersate ar trebui să conţină cele mai multe date pentru a reduce sarcinile goale şi, în mod ideal, aceste date ar trebui să fie distribuite în mod uniform.
Rularea acestui proces poate lua un timp îndelungat, în special la modelele mai mari.