Diagnostic performance                                     Claude Falguière                                         Geneva...
Copyright notice                                                                http://creativecommons.org/licenses/by/3.0...
Claude Falguière                                           @cfalguiere                           Technique                ...
4vendredi 14 octobre 2011
Faux ami 1                              La dream Team                                X est performant                     ...
Sprint ou                               marathon ?                           6vendredi 14 octobre 2011
Bus RATP              Vitesse ou              charge ?                                                  Modèle Fiat 500   ...
Faux ami 2                           C’est du bon sens !                                    8vendredi 14 octobre 2011
User expe!ence                           9vendredi 14 octobre 2011
Subjectif                           Complexité supposée                           Ordre daffichage                         ...
Logique                  mais souvent                                         Nombreux composants                         ...
Faux ami 3                           Avec le cloud fini                             les problèmes                          ...
Essentiellement du scale out         Dʼautres problèmes liés à la mutualisation (latence I/O)         Coût de la montée en...
S(t)imuler                               14vendredi 14 octobre 2011
15vendredi 14 octobre 2011
Quels vont faire                           les utilisateurs                           en production ?                     ...
Les volumétries ?                           Les dimensionnements ?                           17vendredi 14 octobre 2011
Les risques à vérifier ?                                Les critères à mesurer ?                           18vendredi 14 oc...
Qui ? Quoi ?                           Où ? Quand ? Combien ?                           Comment ? Pourquoi ?              ...
Qui ?                           20vendredi 14 octobre 2011
Qui ? Quoi ?                                      Consultations                                                      Paie ...
Qui ? Quoi ?                           22vendredi 14 octobre 2011
Combien ? Quand ?               Quelle heure ?               Quel jour ?               Pics                               ...
Pourquoi ?                           Les enjeux        Les coûts                                        24vendredi 14 octo...
Pourquoi ?               Temps de réponse               et               Disponibilité, Stabilité       GALERIEopWEG      ...
STRATEGIE DE TEST                                POURQUOI ?                              Que veut on évaluer ?            ...
Représentativité                                  27vendredi 14 octobre 2011
représentativité                           Le résultat du test dépend                                   totalement        ...
représentativité                           Le résultat du test dépend                                   totalement        ...
Les biais                           19                           29vendredi 14 octobre 2011
Les biais                           temps de réponse = 0,2s           Garbage In            Garbage Out                   ...
Les biais              Martineric                           Vrai vie        Test en éprouvette                            ...
Les biais                             Biais              Martineric     Nombre,                              Durée,       ...
Le Jeu         Trouvez des biais         Trouvez des biais qui         qui rendront le           rendront le résultat     ...
Volumétries                           34vendredi 14 octobre 2011
Structure des données                           35vendredi 14 octobre 2011
Gestion des erreurs                           Bref ... pas facile                                   36vendredi 14 octobre ...
Cumulus                              37vendredi 14 octobre 2011
DEV                                  OPS                             38vendredi 14 octobre 2011
39vendredi 14 octobre 2011
Si vous avez un                            marteau                           tout ressemble à un                          ...
Donʼt shoot in the dark                                      41vendredi 14 octobre 2011
travailler                           ensemble  ?                                42vendredi 14 octobre 2011
43vendredi 14 octobre 2011
44vendredi 14 octobre 2011
Et chez vous ?                           45vendredi 14 octobre 2011
Partager                              46vendredi 14 octobre 2011
Ne pas chercher au hasard                           47vendredi 14 octobre 2011
Ne pas chercher au hasard                                La pêche aux                                   infos ...         ...
Explicitez vos                         hypothèses                     et votre démarche                             49vend...
50vendredi 14 octobre 2011
51vendredi 14 octobre 2011
52vendredi 14 octobre 2011
LaScène                           de Crime                                53vendredi 14 octobre 2011
54vendredi 14 octobre 2011
55vendredi 14 octobre 2011
56vendredi 14 octobre 2011
57vendredi 14 octobre 2011
58vendredi 14 octobre 2011
Investigations                           59vendredi 14 octobre 2011
Que fait ce système ?                                     60vendredi 14 octobre 2011
61vendredi 14 octobre 2011
Comment ça marche ?                                 62vendredi 14 octobre 2011
63vendredi 14 octobre 2011
64vendredi 14 octobre 2011
65vendredi 14 octobre 2011
66vendredi 14 octobre 2011
67vendredi 14 octobre 2011
Jusque là                           tout                           va bien                                68vendredi 14 oc...
69vendredi 14 octobre 2011
Mesurer            Ce que vous mesurez doit servir            - à bâtir des hypothèses            - à confirmer des hypothè...
Dresser                    le bilan                           71vendredi 14 octobre 2011
72vendredi 14 octobre 2011
73vendredi 14 octobre 2011
74vendredi 14 octobre 2011
75vendredi 14 octobre 2011
76vendredi 14 octobre 2011
77vendredi 14 octobre 2011
78vendredi 14 octobre 2011
Gagnez   du   temps                           79vendredi 14 octobre 2011
Série Chronologique     Et sa distribution                            80vendredi 14 octobre 2011
Quelques                                             mauvais                                             temps isolés     ...
Douter                              82vendredi 14 octobre 2011
Latences                           83vendredi 14 octobre 2011
Toujours vérifier                            MAN                           150 Mb                              84vendredi ...
Toujours vérifier        et prouver        vos dires                                    test JMeter                       ...
Toujours vérifier                                2Mb                           86vendredi 14 octobre 2011
Patterns                           87vendredi 14 octobre 2011
88vendredi 14 octobre 2011
La rançon du                           succès                                89vendredi 14 octobre 2011
90vendredi 14 octobre 2011
- Se produit sous charge                           - Affecte tous les use cases              Confirmation Accroissement de ...
Les limites physiques       Memory bound :       ressource non partageable       → erreur quand plus de ressources       C...
Les Quotas         ulimit, hyperviseurs, shaping réseau, les licences ...         Mutualisation de ressources,         Rés...
Les Limites configurables             Configuration mémoire de la JVM (-Xmx)             Tailles limites de pool           ...
95vendredi 14 octobre 2011
96vendredi 14 octobre 2011
- Se produit sous charge                              - Affecte tous les use cases                              - Souvent ...
Le régime restrictif                                    98vendredi 14 octobre 2011
- Se produit sous charge                             - Affecte tous les use cases              Confirmation                ...
dimensionnement                           La limite logicielle est préférable à                           l’écroulement   ...
Comment dimensionner ?        Dimensionnement par tests de charge        - respecter le modèle de charge de l’utilisateur ...
102vendredi 14 octobre 2011
103vendredi 14 octobre 2011
104vendredi 14 octobre 2011
105vendredi 14 octobre 2011
106vendredi 14 octobre 2011
107vendredi 14 octobre 2011
dimensionnement                           Tout ce qui rentre doit ressortir                           … en moyenne        ...
Cohérence                            plutôt que                           Rock StarS                                 109ve...
110vendredi 14 octobre 2011
L   emprunt                           à    durée                           indéterminée                                  1...
112vendredi 14 octobre 2011
- Se produit avec le temps                            même à faible charge                            - Affecte tous les u...
Mémoire              Connexion non rendue au pool              Thread bloqué                                 114vendredi 1...
Les pseudo fuites       ... aka les caches                           Evaluer lutilité :                           thrashin...
La   voie                           unique                                 116vendredi 14 octobre 2011
117vendredi 14 octobre 2011
118vendredi 14 octobre 2011
- Très faible consommation de                           ressources                           - Temps très longs (time-outs...
Java                           → Thread Dump + outil danalyse                              (MAT, JCA, HealthCenter,       ...
La                           chaise                           musicale                                121vendredi 14 octob...
122vendredi 14 octobre 2011
Utilisation par plusieurs                           threads de variables de                           classe non multi-thr...
-   Erreurs dincohérence                           -   Affecte plus certains use cases                           -   A fai...
Très difficile à identifier            Causes courantes :            - Optimisations sauvage des synchronized pour          ...
126vendredi 14 octobre 2011
127vendredi 14 octobre 2011
- localisé sur un use case                           - variations dans un use case                           Préciser le s...
Que dis cette bimodale ?                           129vendredi 14 octobre 2011
Que dis cette bimodale ?             Comportement             différent selon les    Plusieurs cas sous             instan...
Patience et                longueur de                  temps ...                           131vendredi 14 octobre 2011
132vendredi 14 octobre 2011
Le processus                    Dresser le bilan                    → Comprendre où ça se passe à peu près                ...
Conclusion .                                134vendredi 14 octobre 2011
Priorités                           Fonctions                           Robustesse                            Stabilité   ...
Tester (s’entraîner)                           136vendredi 14 octobre 2011
Surveiller                Monitorer                       autodiagnostic                       journaux,                  ...
138vendredi 14 octobre 2011
139vendredi 14 octobre 2011
Prochain SlideShare
Chargement dans…5
×

Diagnostic performances

2 646 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 646
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1 080
Actions
Partages
0
Téléchargements
47
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Diagnostic performances

  1. 1. Diagnostic performance Claude Falguière Geneva JUG le 12 Octobre 2011 JUGL Lausanne le 13 Octobre 2011 1vendredi 14 octobre 2011
  2. 2. Copyright notice http://creativecommons.org/licenses/by/3.0/ Vous êtes libre de : Reproduire, distribuer et communiquer cette création au public Modifier cette création Selon les conditions suivantes : Paternité. Vous devez citer le nom de lauteur original de la manière indiquée par lauteur de loeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas dune manière qui suggérerait quils vous soutiennent ou approuvent votre utilisation de loeuvre). Rien dans ce contrat ne diminue ou ne restreint le droit moral de lauteur ou des auteurs. 2vendredi 14 octobre 2011
  3. 3. Claude Falguière @cfalguiere Technique 3vendredi 14 octobre 2011
  4. 4. 4vendredi 14 octobre 2011
  5. 5. Faux ami 1 La dream Team X est performant Y est performant Z est performant => Mon système est performant 5vendredi 14 octobre 2011
  6. 6. Sprint ou marathon ? 6vendredi 14 octobre 2011
  7. 7. Bus RATP Vitesse ou charge ? Modèle Fiat 500 Modèle Simlocker 7vendredi 14 octobre 2011
  8. 8. Faux ami 2 C’est du bon sens ! 8vendredi 14 octobre 2011
  9. 9. User expe!ence 9vendredi 14 octobre 2011
  10. 10. Subjectif Complexité supposée Ordre daffichage Stabilité 10vendredi 14 octobre 2011
  11. 11. Logique mais souvent Nombreux composants Interactions complexes Caches Contre-intuitif Mécanismes correctifs 11vendredi 14 octobre 2011
  12. 12. Faux ami 3 Avec le cloud fini les problèmes 12vendredi 14 octobre 2011
  13. 13. Essentiellement du scale out Dʼautres problèmes liés à la mutualisation (latence I/O) Coût de la montée en charge 13vendredi 14 octobre 2011
  14. 14. S(t)imuler 14vendredi 14 octobre 2011
  15. 15. 15vendredi 14 octobre 2011
  16. 16. Quels vont faire les utilisateurs en production ? 16vendredi 14 octobre 2011
  17. 17. Les volumétries ? Les dimensionnements ? 17vendredi 14 octobre 2011
  18. 18. Les risques à vérifier ? Les critères à mesurer ? 18vendredi 14 octobre 2011
  19. 19. Qui ? Quoi ? Où ? Quand ? Combien ? Comment ? Pourquoi ? 19vendredi 14 octobre 2011
  20. 20. Qui ? 20vendredi 14 octobre 2011
  21. 21. Qui ? Quoi ? Consultations Paie Recherche complexe 21vendredi 14 octobre 2011
  22. 22. Qui ? Quoi ? 22vendredi 14 octobre 2011
  23. 23. Combien ? Quand ? Quelle heure ? Quel jour ? Pics 23vendredi 14 octobre 2011
  24. 24. Pourquoi ? Les enjeux Les coûts 24vendredi 14 octobre 2011
  25. 25. Pourquoi ? Temps de réponse et Disponibilité, Stabilité GALERIEopWEG Robustesse Vieillissement Résistance à leffet Twitter Consommation de ressources 25vendredi 14 octobre 2011 G
  26. 26. STRATEGIE DE TEST POURQUOI ? Que veut on évaluer ? Quels sont les enjeux ? QUOI ? COMBIEN ? Combien d utilisateurs ? Combien de temps ? Quel pro l de charge ? COMMENT ? Environnement requis ? Jeux de données? 26vendredi 14 octobre 2011
  27. 27. Représentativité 27vendredi 14 octobre 2011
  28. 28. représentativité Le résultat du test dépend totalement des scénarios définis et de leur implémentation 19 28vendredi 14 octobre 2011
  29. 29. représentativité Le résultat du test dépend totalement des scénarios définis et de leur implémentation Garbage In → Garbage Out 19 28vendredi 14 octobre 2011
  30. 30. Les biais 19 29vendredi 14 octobre 2011
  31. 31. Les biais temps de réponse = 0,2s Garbage In Garbage Out 19 30vendredi 14 octobre 2011
  32. 32. Les biais Martineric Vrai vie Test en éprouvette 31vendredi 14 octobre 2011
  33. 33. Les biais Biais Martineric Nombre, Durée, Comportement 32vendredi 14 octobre 2011
  34. 34. Le Jeu Trouvez des biais Trouvez des biais qui qui rendront le rendront le résultat résultat meilleur plus mauvais 33vendredi 14 octobre 2011
  35. 35. Volumétries 34vendredi 14 octobre 2011
  36. 36. Structure des données 35vendredi 14 octobre 2011
  37. 37. Gestion des erreurs Bref ... pas facile 36vendredi 14 octobre 2011
  38. 38. Cumulus 37vendredi 14 octobre 2011
  39. 39. DEV OPS 38vendredi 14 octobre 2011
  40. 40. 39vendredi 14 octobre 2011
  41. 41. Si vous avez un marteau tout ressemble à un clou 40vendredi 14 octobre 2011
  42. 42. Donʼt shoot in the dark 41vendredi 14 octobre 2011
  43. 43. travailler ensemble  ? 42vendredi 14 octobre 2011
  44. 44. 43vendredi 14 octobre 2011
  45. 45. 44vendredi 14 octobre 2011
  46. 46. Et chez vous ? 45vendredi 14 octobre 2011
  47. 47. Partager 46vendredi 14 octobre 2011
  48. 48. Ne pas chercher au hasard 47vendredi 14 octobre 2011
  49. 49. Ne pas chercher au hasard La pêche aux infos ... 48vendredi 14 octobre 2011
  50. 50. Explicitez vos hypothèses et votre démarche 49vendredi 14 octobre 2011
  51. 51. 50vendredi 14 octobre 2011
  52. 52. 51vendredi 14 octobre 2011
  53. 53. 52vendredi 14 octobre 2011
  54. 54. LaScène de Crime 53vendredi 14 octobre 2011
  55. 55. 54vendredi 14 octobre 2011
  56. 56. 55vendredi 14 octobre 2011
  57. 57. 56vendredi 14 octobre 2011
  58. 58. 57vendredi 14 octobre 2011
  59. 59. 58vendredi 14 octobre 2011
  60. 60. Investigations 59vendredi 14 octobre 2011
  61. 61. Que fait ce système ? 60vendredi 14 octobre 2011
  62. 62. 61vendredi 14 octobre 2011
  63. 63. Comment ça marche ? 62vendredi 14 octobre 2011
  64. 64. 63vendredi 14 octobre 2011
  65. 65. 64vendredi 14 octobre 2011
  66. 66. 65vendredi 14 octobre 2011
  67. 67. 66vendredi 14 octobre 2011
  68. 68. 67vendredi 14 octobre 2011
  69. 69. Jusque là tout va bien 68vendredi 14 octobre 2011
  70. 70. 69vendredi 14 octobre 2011
  71. 71. Mesurer Ce que vous mesurez doit servir - à bâtir des hypothèses - à confirmer des hypothèses Est ce que le réseau est surutilisé ? Est ce que je passe du temps côté client ou serveur ? 70vendredi 14 octobre 2011
  72. 72. Dresser le bilan 71vendredi 14 octobre 2011
  73. 73. 72vendredi 14 octobre 2011
  74. 74. 73vendredi 14 octobre 2011
  75. 75. 74vendredi 14 octobre 2011
  76. 76. 75vendredi 14 octobre 2011
  77. 77. 76vendredi 14 octobre 2011
  78. 78. 77vendredi 14 octobre 2011
  79. 79. 78vendredi 14 octobre 2011
  80. 80. Gagnez du temps 79vendredi 14 octobre 2011
  81. 81. Série Chronologique Et sa distribution 80vendredi 14 octobre 2011
  82. 82. Quelques mauvais temps isolés Temps très variables Bimodale !? ... 81vendredi 14 octobre 2011
  83. 83. Douter 82vendredi 14 octobre 2011
  84. 84. Latences 83vendredi 14 octobre 2011
  85. 85. Toujours vérifier MAN 150 Mb 84vendredi 14 octobre 2011
  86. 86. Toujours vérifier et prouver vos dires test JMeter sur place MAN ? 150 Mb débit < 2Mb 85vendredi 14 octobre 2011
  87. 87. Toujours vérifier 2Mb 86vendredi 14 octobre 2011
  88. 88. Patterns 87vendredi 14 octobre 2011
  89. 89. 88vendredi 14 octobre 2011
  90. 90. La rançon du succès 89vendredi 14 octobre 2011
  91. 91. 90vendredi 14 octobre 2011
  92. 92. - Se produit sous charge - Affecte tous les use cases Confirmation Accroissement de l’usage sur une longue période Trouver les limites atteintes - time outs - ressources saturées 91vendredi 14 octobre 2011
  93. 93. Les limites physiques Memory bound : ressource non partageable → erreur quand plus de ressources CPU bound : ressource en time sharing → partage excessif, lenteur Network bound : ressource en time sharing → idem + retry et écroulement 92vendredi 14 octobre 2011
  94. 94. Les Quotas ulimit, hyperviseurs, shaping réseau, les licences ... Mutualisation de ressources, Réserver des ressources au système, Priorisation de service, Facturation 93vendredi 14 octobre 2011
  95. 95. Les Limites configurables Configuration mémoire de la JVM (-Xmx) Tailles limites de pool Tailles limites de caches Nombre dʼinstances, de connexions ... 94vendredi 14 octobre 2011
  96. 96. 95vendredi 14 octobre 2011
  97. 97. 96vendredi 14 octobre 2011
  98. 98. - Se produit sous charge - Affecte tous les use cases - Souvent écroulement après un pic de charge Résolution Trouver la bonne configuration - utilisation optimale du CPU et pas plus - vmstat (runnable) 97vendredi 14 octobre 2011
  99. 99. Le régime restrictif 98vendredi 14 octobre 2011
  100. 100. - Se produit sous charge - Affecte tous les use cases Confirmation Saturation de limites configurées mais pas des limites matérielles Résolution Lever ces limites 99vendredi 14 octobre 2011
  101. 101. dimensionnement La limite logicielle est préférable à l’écroulement 100vendredi 14 octobre 2011
  102. 102. Comment dimensionner ? Dimensionnement par tests de charge - respecter le modèle de charge de l’utilisateur Influence de la vitesse des utilisateurs - attentes sur le serveur Web ou le container Web Influence des jeux de données - attentes de la base de données 101vendredi 14 octobre 2011
  103. 103. 102vendredi 14 octobre 2011
  104. 104. 103vendredi 14 octobre 2011
  105. 105. 104vendredi 14 octobre 2011
  106. 106. 105vendredi 14 octobre 2011
  107. 107. 106vendredi 14 octobre 2011
  108. 108. 107vendredi 14 octobre 2011
  109. 109. dimensionnement Tout ce qui rentre doit ressortir … en moyenne Le nombre d’actifs est défini par la taille du pool Les files d’attente régulent les variations de débit 108vendredi 14 octobre 2011
  110. 110. Cohérence plutôt que Rock StarS 109vendredi 14 octobre 2011
  111. 111. 110vendredi 14 octobre 2011
  112. 112. L emprunt à durée indéterminée 111vendredi 14 octobre 2011
  113. 113. 112vendredi 14 octobre 2011
  114. 114. - Se produit avec le temps même à faible charge - Affecte tous les use cases - Les indicateurs se dégradent progressivement Résolution Trouver la fuite ... - Tester les use case isolément, la fuite est souvent liée à un scénario particulier - Certains outils d’introspection détectent les fuites de connexion sur les pools 113vendredi 14 octobre 2011
  115. 115. Mémoire Connexion non rendue au pool Thread bloqué 114vendredi 14 octobre 2011
  116. 116. Les pseudo fuites ... aka les caches Evaluer lutilité : thrashing, jamais relus Utiliser un vrai cache : durée de rétention, recyclage Weak reference, soft reference 115vendredi 14 octobre 2011
  117. 117. La voie unique 116vendredi 14 octobre 2011
  118. 118. 117vendredi 14 octobre 2011
  119. 119. 118vendredi 14 octobre 2011
  120. 120. - Très faible consommation de ressources - Temps très longs (time-outs) - Affecte particulièrement certains use cases et à faible charge Confirmation Trouver le lock Provoquer le lock - test à 2 utilisateurs synchronisés → 1 des 2 est deux fois plus long 119vendredi 14 octobre 2011
  121. 121. Java → Thread Dump + outil danalyse (MAT, JCA, HealthCenter, Samourai) Evaluer les portées des synchronized Attention aux variables communes (données et compteurs applicatifs) BD → voir les outils de DBA 120vendredi 14 octobre 2011
  122. 122. La chaise musicale 121vendredi 14 octobre 2011
  123. 123. 122vendredi 14 octobre 2011
  124. 124. Utilisation par plusieurs threads de variables de classe non multi-thread safe (formatters) 123vendredi 14 octobre 2011
  125. 125. - Erreurs dincohérence - Affecte plus certains use cases - A faible charge - Instabilité Confirmation Provoquer le problème - test synchronisés → 1 des 2 est en erreur ... si vous avez de la chance 124vendredi 14 octobre 2011
  126. 126. Très difficile à identifier Causes courantes : - Optimisations sauvage des synchronized pour régler des problèmes de performance - Caches et compteurs applicatifs mal gérés - Formatters Solutions possibles : → Thread Local, synchronized, volatile 125vendredi 14 octobre 2011
  127. 127. 126vendredi 14 octobre 2011
  128. 128. 127vendredi 14 octobre 2011
  129. 129. - localisé sur un use case - variations dans un use case Préciser le scénario - donnée en cause - volumes / répétition - scénario alternatif 128vendredi 14 octobre 2011
  130. 130. Que dis cette bimodale ? 129vendredi 14 octobre 2011
  131. 131. Que dis cette bimodale ? Comportement différent selon les Plusieurs cas sous instances le même use case mesuré Lock Cache 130vendredi 14 octobre 2011
  132. 132. Patience et longueur de temps ... 131vendredi 14 octobre 2011
  133. 133. 132vendredi 14 octobre 2011
  134. 134. Le processus Dresser le bilan → Comprendre où ça se passe à peu près Mesurer ce qui permet - de choisir un pattern - de comprendre la cause Eliminer des hypothèses Ne pas choisir une vérité trop rapidement Boucler 133vendredi 14 octobre 2011
  135. 135. Conclusion . 134vendredi 14 octobre 2011
  136. 136. Priorités Fonctions Robustesse Stabilité Rapidité 135vendredi 14 octobre 2011
  137. 137. Tester (s’entraîner) 136vendredi 14 octobre 2011
  138. 138. Surveiller Monitorer autodiagnostic journaux, alertes Anticiper ≠ planifier 137vendredi 14 octobre 2011
  139. 139. 138vendredi 14 octobre 2011
  140. 140. 139vendredi 14 octobre 2011

×