> Tech > Une productivité et des performances décuplées

Une productivité et des performances décuplées

Tech - Par iTPro - Publié le 24 juin 2010
email

Il est relativement aisé d’écrire une requête qui récupère des données pour un rapport, les affiche dans un des différents contrôles de rapport, puis déploie le rapport auprès des utilisateurs. Mais que se passe-t-il lorsque même la requête la mieux écrite est trop longue à s’exécuter et que la lenteur

Une productivité et des performances décuplées

d’exécution des rapports commence à irriter les utilisateurs ? Il n’existe aucune panacée à une requête mal écrite, mais les astuces SSRS suivantes peuvent améliorer les performances globales de vos rapports.

Utilisation des instantanés pour éviter les goulets d’étranglement.
Vous pouvez éviter les goulets d’étranglement de rapports dont l’exécution est excessivement longue en créant un instantané (ou snapshot) de rapport qui s’exécutera sur votre système pendant la nuit ou au cours des heures de faible activité. Un instantané exécute automatiquement le rapport sur la base d’un planning défini et stocke les résultats dans la base de données du serveur de rapports. Vous pouvez ensuite effectuer le rendu de rapports à partir de l’instantané et non à partir de la base de données de production, d’où un fardeau moins lourd pour votre serveur.

Si vous souhaitez permettre aux utilisateurs de filtrer les résultats à partir des instantanés, vous devez concevoir le rapport de telle sorte qu’il utilise les filtres de rapport au lieu d’un paramètre de requête. Un instantané s’exécute pour un ensemble de paramètres de requête (s’ils sont présents) et si ces valeurs changent lorsqu’un utilisateur exécute le rapport, l’instantané ne sera pas valide. Nous aborderons les filtres de rapport un peu plus loin.

Définition d’une pagination pour masquer le traitement.
Concernant les rapports retournant un nombre élevé d’enregistrements à afficher dans un tableau ou une liste, vous pouvez employer une pagination avec sauts de page afin que la plus grande partie du traitement soit transparente pour les utilisateurs. Plusieurs contrôles de rapport disposent de propriétés pour l’insertion de sauts de page avant ou après le contrôle luimême ou des groupes au sein de celui-ci. Par exemple, si un utilisateur demande un rapport retournant 1000 lignes de données, vous pouvez employer les sauts de page pour assurer le rendu de la page de résultats initiale, tandis que le serveur de rapports assure le rendu des autres pages en arrière-plan. Sans pagination, l’utilisateur devra attendre que SSRS ait effectué le rendu des 1000 lignes pour voir le rapport.

Mise en oeuvre de filtres aux fins de performances.
Comme indiqué précédemment, si vous utilisez le filtrage de niveau rapport sur des régions et regroupements de données au lieu d’employer des paramètres de requête comme filtres, SSRS peut filtrer les résultats à partir d’un instantané, d’où l’économie d’un aller vers la base de données de production pour récupérer les données du rapport. Lorsque vous employez un paramètre de requête comme filtre, SSRS passe la valeur du paramètre de rapport à la requête qui génère le dataset, afin que ladite requête puisse effectuer le filtrage. En revanche, lorsque vous utilisez un filtre sur une région de données, par exemple, la valeur du paramètre de rapport est mise en oeuvre via une expression sur l’onglet Filtres (Filters) de la région de données, comme l’illustre la figure 2. Pour voir comment ajouter des filtres, consultez l’article Microsoft « Howto : Add a Filter (Report Designer) », à l’adresse http://msdn2.microsoft. com/en-us/library/ms1562 70.aspx

Activation de l’exploration descendante pour l’accès aux détails.
Au lieu de fournir aux utilisateurs un rapport qui affiche l’ensemble des données en une seule fois, concevez un rapport récapitulatif comportant un sous-ensemble de données et permettant aux utilisateurs d’effectuer une exploration vers des niveaux plus détaillés. Une telle conception de rapport, au moyen de rapports détaillés maîtres qui exploitent les possibilités de navigation de SSRS, donne aux utilisateurs le moyen d’explorer plus en détail les données qui les intéressent, sans renvoyer des rapports volumineux à tout le monde. De nombreuses parties d’un contrôle de rapport ont une propriété Navigation, laquelle permet notamment de créer un lien hypertexte sur le contrôle en vue de passer des valeurs spécifiques, comme l’illustre la figure 3, ou pour accéder à un autre rapport.

Utilisation de rectangles pour la cohérence et l’efficacité.
Envisagez de regrouper les éléments de rapport dans des rectangles, pour une mise en forme mieux maîtrisée et plus cohérente, ainsi qu’un déplacement aisé des objets. Avec ce type d’approche, vous pouvez masquer plusieurs éléments à la fois et à un emplacement. Vous pouvez aussi placer plusieurs zones de texte d’un rectangle dans une seule cellule de tableau et vous disposez de plus d’options de pagination. Placez les éléments d’un rapport dans un rectangle par glisser-déplacer ou par couper-coller. Pour vérifier qu’un élément est présent à l’intérieur du rectangle, contrôlez la propriété Parent de l’élément en question.

Rafraîchissement des ensembles de données (dataset).
En cas de modification d’une procédure stockée, d’une vue ou d’une requête sur laquelle s’appuie un rapport, vous devez mettre à jour le dataset du rapport afin de refléter les modifications. Vous pouvez réexécuter le dataset pour le mettre à jour en cliquant sur le point d’exclamation dans la barre d’outils Dataset. Ensuite, cliquez sur le bouton de rafraîchissement (Refresh) de dataset au niveau de la barre d’outils. L’opération de rafraîchissement utilisera les éventuels paramètres entrés pendant l’exécution et ajoutera ou supprimera les champs ou paramètres changés dans la procédure, la vue ou la requête sous-jacente. Ce processus détecte automatiquement toute modification, d’où l’inutilité de modifier les paramètres dans le menu Rapport (Report) et la boîte de dialogue Dataset. Exploitation des rapports gratuits. Microsoft fournit de nombreux exemples de code SSRS gratuits, y compris des Report Pack précieux fournissant des rapports prédéfinis en vue du reporting sous Microsoft IIS, SSIS (SQL Server Integration Services), Exchange Server, Windows SharePoint Services, Great Plains et d’autres applications Microsoft. Les Report Pack ne sont pas seulement utiles au démarrage, mais constituent aussi des exemples sur la manière de créer vos propres rapports personnalisés. Pour plus d’informations sur les Report Pack, consultez la page de téléchargement des SQL Server 2005 Report Pack.

Vous trouverez un autre ensemble de rapports gratuits dans les exemples SSRS, y compris des rapports de journaux d’exécution faciles à installer, lesquels affichent l’activité de journal de rapport dans votre environnement. Les rapports de journaux d’exécution vous imposent de créer une petite base de données et un package SSIS (fournis dans l’exemple) pour contenir les données d’exécution. Les 11 exemples SSRS incluent des rapports tels que les indispensables Average Report Execution Time, Longest Running Reports et Reports By Month.

Téléchargez gratuitement cette ressource

Comment sécuriser la Digital Workplace ?

Comment sécuriser la Digital Workplace ?

Avec le recours généralisé au télétravail, les entreprises ont ouvert davantage leur SI. En dépit des précautions prises, elles ont mécaniquement élargi leur surface d’exposition aux risques. Découvrez 5 axes à ne pas négliger dans ce Top 5 Sécurité du Télétravail.

Tech - Par iTPro - Publié le 24 juin 2010