37
1 @Dynatrace Sous l’angle de la performance 10,11,12 février Antoine Ferté : [email protected] Rafael Portolano : [email protected] Consultants Dynatrace

Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

Embed Size (px)

Citation preview

Page 1: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

1 @Dynatrace

Sous l’angle de la performance

10,11,12 février

Antoine Ferté : [email protected] Portolano : [email protected]

Consultants Dynatrace

Page 2: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

2 @Dynatrace

Sous l’angle de la performance

Démos live Retex SharePointA.P.M. Pourquoi ?

Principe de fonctionnement

Principales causes de lenteurs observées

Tips pour optimiser les pages lentes

Mesurer le ressenti de mes utilisateurs

Isoler les anomalies

10,11,12 février

[8 mn] [20 mn] [12 mn]

Page 3: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

3 @Dynatrace

Manque d’accompagnement

Conception, ergonomie inadaptée

Performance, erreurs techniques

3 freins à l’adoption de

Priorité 1 : la satisfaction utilisateurs

Page 4: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

4 @Dynatrace

Manque de visibilité

Des environnements techniques complexes

Des outils fonctionnant en sillot

Des situations de crise fréquentes

Etat des lieux

Page 5: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

5 @Dynatrace

Deux questions essentielles

Mes utilisateurs rencontrent t-ils une insatisfaction ?

Quelle est l’origine du dysfonctionnement ?

Page 6: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

6 @Dynatrace

Comment Dynatrace répond à ces 2 questions ?

DéveloppeurUtilisateur JAVA

Big DataAutre

Mainframe

Contenu tiersCDN

RéseauRéseau

ServeurDynatrace

Page 7: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

7 @Dynatrace

Visibilité jusqu’au code source

Page 8: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

8 @Dynatrace

L’impact de l’infrastructure sur les applications

DéveloppeurUtilisateur JAVA

Big DataAutre

Mainframe

Contenu tiersCDN

RéseauRéseau

ServeurDynatrace

Page 9: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

9 @Dynatrace

Démo #1

Mesurer le ressenti utilisateur

Page 10: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

10 @Dynatrace

Support: Décrivez-moi votre écran

User: [Echap], [F1], [F2], [F3] ...

Support: Non ! Ca c'est votre clavier ! L'écran, c'est la télé ...

User : Vous me prenez pour un C.. ou quoi ?

Page 11: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

11 @Dynatrace

www.laval.ca

Exemple d’une visite utilisateur sur le site de Laval monitoré par Dynatrace coté client uniquement (pas d’agent applicatif)

Page 12: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

12 @Dynatrace

Vue sur toutes requêtes web générées par mes utilisateurs.Présentation des temps de réponses et du poids des ressources.

Analyse de la visite dans la solution Dynatrace

Page 13: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

13 @Dynatrace

Cartographie de la transaction et temps de réponse

Page 14: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

14 @Dynatrace

Actions utilisateurs de ma visite (quelque soient les navigateurs web ou mobile)

Page 15: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

15 @Dynatrace

Navigation descendante -> quelles sont les transactions générées par cette action

Page 16: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

16 @Dynatrace

Séquence d’appel des ressources : plus 1,8 sec consommé pour charger le fichier « jquery-ui-accordion.js »

Page 17: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

17 @Dynatrace

Vérification de l’impact de ce fichier JS sur les temps de réponse et le trafic : ce fichier est appelé 26 fois (sur toutes les pages

visitées, une optimisation semble nécessaire)

Page 18: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

18 @Dynatrace

La visibilité transverse complète

Démo #2

Page 19: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

19 @Dynatrace

Navigation sur un site de GED monitoré par Dynatrace (agent applicatif installé)

Navigation puis tentative d’ouverture d’un fichier Excel qui aboutit par une popup d’erreur

Page 20: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

20 @Dynatrace

Pour chaque visite : chemin de navigation présenté lisiblement. Affichage des actions utilisateurs et des temps de réponse.

Analyse de la visite dans Dynatrace :

Page 21: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

21 @Dynatrace

- Temps de réponse passés dans chaque tiers - Etat de santé : Applicatif, Process et des Hosts

Cartographie de ma visite : 

Cartographie de bout en bout de ma visite :

Page 22: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

22 @Dynatrace

Détail de l’état de santé de mon Host

Page 23: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

23 @Dynatrace

Descente dans le code pour retrouver l’exception apparue à l’ouverture de mon doc Excel : « Excel Services not running »

Page 24: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

24 @Dynatrace

Visibilité sur les requêtes SQL appelées depuis la couche applicative

Page 25: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

25 @Dynatrace

Vérification de la configuration sur la centrale d’administration des Excel

Service de mon WebApp

Page 26: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

26 @Dynatrace

SynthèseLes problèmes peuvent venir de partout !

Côté client Des pages complexes, lourdes, des CDN peu performants (cache de contenu)

JavaScripts (séquence et poids) et compatibilité Browsers

Déploiement / configuration Crawl perpetual, Service de cache, MySite mal dimensionnés, …)

Code custom

Page 27: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

27 @Dynatrace

Pages lentes : causes & solutions

Retours d’expériences

Page 28: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

28 @Dynatrace

Custom Web Parts - Bad Coding #1

Tous les List Items sont remontés dans la requête la BDD

DO NOTint nbElements = SPContext.Current.List.Items.Count;

Item Count est chargé depuis la table AllUserData et mis en mémoire

DOint nbElements = SPContext.Current.List.ItemCount;

Page 29: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

29 @Dynatrace

Custom Web Parts - Bad Coding - #2DO NOTfor (int itemIx=0;itemIx< SPContext.Current.List.Items.Count;itemIx++) { SPListItem listItem = SPContext.Current.List.Items[itemIx];// do something ... }

Chaque itération engendre 2 ExecuteReader ( count & accés aux proprietés )

Au final 202 appels SQL avec plus d‘1 sec

Page 30: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

30 @Dynatrace

Custom Web Parts - Bad Coding - #2DOSPListItemCollection items = SPContext.Current.List.Items;foreach (SPListItem listItem in items) { // do something ...}

Une seule requête à la base pour remonter la collection

Page 31: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

31 @Dynatrace

Composants (Ex. Grid Control) - #3

Chaque Cellule de grille exécute un select.493 au total !

Aucune de ces exécutions n’a été préparée

Page 32: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

32 @Dynatrace

Call Asynchrone - #4

Async Threads occupés en I/O

Page 33: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

33 @Dynatrace

1er Appel “DoAsyncCall” trés lent - #4

Web Service appelé par la WebPart

L’HttpWebRequest utilise la class ServicePoint

Le 1er Web Service met 5.8s à retrouver les infos

Page 34: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

34 @Dynatrace

Les threads attendent ! - #4

On a 10 appels parallèles en tâche de fond qui attendent

Les autres threads passent leur tpsen “waiting” dans the ServicePoint

Page 35: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

35 @Dynatrace

Solution: Change Defaults #4

Page 36: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

36 @Dynatrace

Page 37: Reprenez la main sur vos applications SharePoint en mesurant et en optimisant la performance et la disponibilité de cet environnement

37 @Dynatrace

Essayez gratuitement Dynatrace Free Edition

Téléchargement sur Dynatrace.fr