Les utilitaires d'optimisation de cube Référence, Cache du calculateur, Ordre de résolution et Distribution des données vous aident à affiner vos cubes pour de meilleures performances.
Utilitaire | Données renvoyées |
---|---|
Ligne de base | Métriques de performances de cube |
Ordre de résolution | Ordre de résolution des membres dans le cube |
Cache du calculateur | Données qui vous aident à choisir la meilleure valeur de cache du calculateur pour le cube |
Distribution des données | Données qui vous aident à choisir les dimensions devant être denses et les dimensions devant être dispersées |
Les métriques suivies par l'utilitaire de référence présentent les performances du système. Utilisez ces métriques pour déterminer les performances de référence, puis pour quantifier les améliorations apportées par les optimisations suivantes que vous effectuerez.
Avant d'employer cet utilitaire, vous devez créer un classeur d'application, y compris l'outline, les paramètres de configuration, les scripts de calcul et les requêtes à inclure dans le cube.
Lorsque vous exécutez l'utilitaire, il construit le cube, charge les fichiers de données sélectionnés, exécute les scripts de calcul sélectionnés et exécute les requêtes contenues dans le classeur d'application. Il est important que vous disposiez d'un échantillon représentatif de requêtes de vos utilisateurs.
L'utilitaire de référence crée un tableau de bord de l'application et des processus opérationnels, qui peut vous aider à concevoir et à optimiser le cube. Au fil de l'implémentation de modifications et de la reconstruction du cube, la référence vous permet de comparer les itérations des modifications du cube. Dans l'onglet Essbase.Stats.Baseline du classeur d'application, l'utilitaire de référence ajoute de nouvelles tables avec les dernières données de chaque itération.
Préparation de l'exécution de l'utilitaire de référence dans le cadre de l'optimisation du cube sur un cube en mode hybride
Effectuez les tâches suivantes avant d'exécuter l'utilitaire de référence :
Pour créer un classeur d'application, vous pouvez télécharger un classeur échantillon, puis le modifier en fonction de vos besoins. Reportez-vous à Exploration des modèles de galerie.
Si les feuilles de requête comportent des métadonnées d'un autre serveur, le concepteur de cubes affiche un avertissement et interrompt le traitement jusqu'à ce que vous répondiez.
Paramètre | Valeur |
---|---|
ASODYNAMICAGGINBSO | FULL |
HYBRIDBSOINCALCSCRIPT | NONE |
INDEXCACHESIZE | 100M |
DATACACHESIZE | 100M |
ASODEFAULTCACHESIZE | 100 |
MAXFORMULACACHESIZE | 102400 |
INPLACEDATAWRITEMARGINPERCENT | 20 |
CALCCACHEDEFAULT | 200000 |
LONGQUERYTIMETHRESHOLD | -1 |
Exécution de l'utilitaire de référence dans le cadre de l'optimisation du cube sur un cube en mode hybride
L'utilitaire de référence identifie les dimensions denses et dispersées, la taille des données (taille des fichiers PAG et IND), la taille des blocs, ainsi que la taille des caches de données, d'index et de calculateur. Il fournit également des métriques pour les chargements de données, les calculs et les requêtes.
Pour exécuter l'utilitaire de référence, procédez comme suit :
Les feuilles de calcul sont exécutées dans l'ordre dans lequel elles apparaissent dans le classeur d'application. L'optimisation du cube ignore la propriété Exécuter le calcul sur les feuilles de calcul.
Seuls les scripts de calcul qui peuvent être exécutés à partir de la page Jobs sont pris en charge par l'optimisation du cube. Vous ne pouvez pas exécuter des scripts de calcul qui dépendent du contexte de la grille Smart View en cours (par exemple, calculs définis à l'aide de la fonction @GRIDTUPLES ou utilisant des variables de substitution d'exécution définies avec des balises <svLaunch>).
En l'absence de feuille de données dans le classeur d'application, vous êtes invité à sélectionner des fichiers de données et de règles dans le catalogue. Il est recommandé de stocker les fichiers de données et de règles dans un répertoire partagé dans le catalogue afin de ne pas les perdre lors de la reconstruction du cube.
La construction du cube prendra du temps.
Essbase génère la feuille Essbase.Stats.Baseline et l'ajoute au classeur.
En transformant une dimension dynamique en dimension stockée, vous réduisez cette quantité.
Vérifiez les ordres de résolution des membres calculés et apportez des modifications afin de réduire le nombre d'exécutions de formule et d'améliorer les performances, ou envisagez de stocker un membre calculé contenant des formules pour atteindre les mêmes objectifs.
L'utilitaire d'ordre de résolution offre une représentation visuelle du flux d'ordre de résolution utilisé dans l'application. Il peut vous aider à diagnostiquer les problèmes de performances de requête en lien avec les formules.
Pour exécuter l'utilitaire d'ordre de résolution dans le cadre de l'optimisation de cube, procédez comme suit :
Utilisez les informations de la feuille Essbase.Stats.SolveOrder pour ajuster l'ordre de résolution afin d'optimiser les performances de requête. Reportez-vous à Optimisation du cube pour le mode hybride et Ordre de résolution en mode hybride.
L'utilitaire de cache du calculateur recommande le paramètre de cache du calculateur optimal pour le cube.
L'utilisation du paramètre correct de cache du calculateur peut améliorer considérablement les performances lors du calcul de dimensions dispersées entières dans un script de calcul. Le calcul d'une dimension dispersée entière est une technique permettant de réduire le nombre de blocs requis par une requête.
La valeur par défaut du cache du calculateur est de 200 000 octets. La valeur maximale est de 20 000 000 octets.
Le cache du calculateur doit être défini sur une valeur juste assez grande pour contenir les dimensions dispersées calculées dans le script de calcul. La définition du cache du calculateur sur une valeur plus élevée que nécessaire a un impact négatif sur les performances.
La plus grande dimension constitue généralement le meilleur choix.
L'algorithme de cache du calculateur sélectionne les dimensions dispersées à placer dans le cache, en commençant par la première.
Le cube doit être construit pour que l'utilitaire de cache du calculateur fonctionne.
L'utilitaire affiche le paramètre de cache correct en regard de chaque dimension jusqu'à 20 Mo. Au-delà de 20 Mo, N/A apparaît. Généralement, au-dessus de 2 Mo, les paramètres ne sont pas nécessaires.
Ajoutez cette valeur à la section des paramètres d'application de la feuille de calcul Cube.Settings. Vous pouvez également définir la valeur dans les paramètres de configuration d'application dans l'interface Web Essbase. Un arrondi à la valeur supérieure est recommandé, pour se laisser une marge.
L'utilitaire de distribution des données vous aide à mieux comprendre les données d'une application, ce qui vous permet de prendre des décisions importantes sur l'optimisation de votre cube.
Les dimensions denses définissent les blocs dans une application en mode "block storage". Dans l'idéal, un bloc doit contenir des dimensions comportant le plus de données possible et représenter la disposition de requête prédominante pour l'application. Pour les applications de reporting financier, cela signifie généralement que les dimensions Temps et Compte doivent être denses.
L'un des facteurs ayant un impact sur les performances de requête est le nombre de blocs demandés par la requête. Si le nombre de blocs demandés est trop élevé, les performances de requête sont détériorées. Pour réduire le nombre de blocs demandés, précalculez les membres de niveau supérieur de dimensions dispersées. Commencez par définir l'attribut de stockage de dimension des membres supérieurs sur un attribut stocké (Stocker ou Ne jamais partager), puis exécutez un script de calcul qui agrège la dimension en utilisant soit CALC DIM, soit AGG.
Pour optimiser le script de calcul utilisé afin d'agréger les dimensions dispersées stockées, exécutez la commande FIXPARALLEL. Il est important que vous sélectionniez les dimensions de tâche appropriées. La dimension de tâche est celle qui détermine comment le calcul est divisé en threads et exécuté en parallèle. Les dimensions dispersées doivent contenir le plus de données possible afin de réduire les tâches vides, et dans l'idéal, les données doivent être réparties équitablement.
L'exécution de ce processus peut prendre beaucoup de temps, particulièrement sur les modèles volumineux.