diagnostic performances
DESCRIPTION
Présentation aux JUGs de Toulouse et Bordeaux en décembre 2011TRANSCRIPT
![Page 1: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/1.jpg)
Diagnostic performance
Claude Falguière
JUG Toulouse le 7 décembre 2011
JUG Bordeaux le 8 décembre 2011
1
![Page 2: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/2.jpg)
Copyright notice
2
Vous êtes libre de :Reproduire, distribuer et communiquer cette création au publicModifier cette création
Selon les conditions suivantes :Paternité. Vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre).
Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur ou des auteurs.
http://creativecommons.org/licenses/by/3.0/
![Page 3: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/3.jpg)
Claude Falguière
@cfalguiere
3
Architecte Technique
Co-fondatrice
Crew member
![Page 4: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/4.jpg)
4
![Page 5: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/5.jpg)
5
Faux ami 1La dream Team
X est performantY est performant Z est performant
=> Mon système est performant
![Page 6: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/6.jpg)
Sprint ou marathon ?
6
![Page 7: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/7.jpg)
Vitesse ou charge ?
Modèle Simlocker
Bus RATP
7
Modèle Fiat 500
![Page 8: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/8.jpg)
8
Faux ami 2
C’est du bon sens !
![Page 9: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/9.jpg)
9
User expe!ence
![Page 10: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/10.jpg)
Subjectif Complexité supposéeOrdre d'affichageStabilité
10
![Page 11: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/11.jpg)
Contre-intuitif
Nombreux composantsInteractions complexes
Caches
Mécanismes correctifs
11
Logique
mais souvent
![Page 12: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/12.jpg)
12
Faux ami 3
Avec le cloud fini les problèmes
![Page 13: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/13.jpg)
Essentiellement du scale outDʼautres problèmes liés à la mutualisation (latence I/O)Coût de la montée en charge
13
![Page 14: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/14.jpg)
Jusque là
tout va bien
14
![Page 15: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/15.jpg)
15
Une application ne rend le
service prévu aux utilisateurs que si elle est
déployée
![Page 16: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/16.jpg)
OPS
DEV
16
![Page 17: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/17.jpg)
17
![Page 18: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/18.jpg)
Si vous avez un
marteau
tout ressemble à un
clou18
![Page 19: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/19.jpg)
Donʼt shoot in the dark
19
![Page 20: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/20.jpg)
travailler ensemble ?
20
travailler ensemble ?
![Page 21: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/21.jpg)
21
![Page 22: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/22.jpg)
22
![Page 23: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/23.jpg)
23
http://parisdevops.fr/http://devops.fr
Des User GroupsLilleParisLyonQui sera le prochain ?
![Page 24: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/24.jpg)
24
Partager
![Page 25: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/25.jpg)
25
?Klon!
Zzzzzzzzzz
![Page 26: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/26.jpg)
26
Dis, je comprend pas pourquoi ça
marche pas
Tu peux revéri!er toute la procédure
d’installation ?
Non
A la pêche aux infos
![Page 27: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/27.jpg)
27
Explicitez vos hypothèses
et votre démarche
![Page 28: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/28.jpg)
28
Crime
LaScène
de
![Page 29: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/29.jpg)
29
![Page 30: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/30.jpg)
30
![Page 31: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/31.jpg)
31
![Page 32: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/32.jpg)
32
![Page 33: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/33.jpg)
33
Investigations
![Page 34: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/34.jpg)
34
Que fait ce système ?
Fréquent
VitalRisqué
![Page 35: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/35.jpg)
35
Comment ça marche ?
![Page 36: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/36.jpg)
36
![Page 37: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/37.jpg)
37
![Page 38: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/38.jpg)
38
![Page 39: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/39.jpg)
39
![Page 40: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/40.jpg)
40
![Page 41: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/41.jpg)
41
Ce que vous mesurez soit servir à- bâtir des hypothèses
- (in)valider des hypothèses
![Page 42: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/42.jpg)
42
Patterns
![Page 43: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/43.jpg)
43
FouleGroupeIsolé
Conflits Saturation
Comportement sous stress
![Page 44: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/44.jpg)
44
Ressources limitées + Charge
Saturation
Attente
Capacité
Rejet
![Page 45: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/45.jpg)
45
Accès partagé à la même ressource
Problème de cohabitation
Attente Mélange
Concurrence
![Page 46: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/46.jpg)
46
EfficacitéRépétition
Volume
Attente d’éléments externes
![Page 47: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/47.jpg)
47
![Page 48: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/48.jpg)
48
Utilisateurs actifs CPU
MémoireBande passante réseau
![Page 49: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/49.jpg)
49
Utilisateurs actifs CPU
MémoireBande passante réseau
11 mois plus tard ...
![Page 50: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/50.jpg)
Memory bound : ressource non partageable→ erreur quand plus de ressources
Les limites physiques
50
CPU bound : ressource en time sharing→ partage excessif, lenteur
Network bound : ressource en time sharing→ idem + retry et écroulement
![Page 51: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/51.jpg)
Les Limites configurables
Configuration mémoire de la JVM (-Xmx)Tailles limites de poolTailles limites de cachesNombre dʼinstances, de connexions ...
51
![Page 52: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/52.jpg)
Dimensionner
les pools52
![Page 53: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/53.jpg)
53
Taille du pool
Les tailles de pool
![Page 54: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/54.jpg)
54
Taille du poolMémoire
Les tailles de pool
CPU
Réseau
![Page 55: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/55.jpg)
55
File d’attente
Taille du pool
Les tailles de pool
![Page 56: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/56.jpg)
56
théorie des files d’attente files d’attentes markoviennes (M/M/S)
Y’a Ka
loi de Little
■ λ = fréquence moyenne d'arrivées (loi de Poisson)■ temps moyen de service■ trafic offert (nombre moyen d'arrivées pendant le temps moyen de service)■ S nombre de serveurs
Temps moyen de séjour dans le système (τ)Nombre moyen de clients dans le système (<N>) Probabilité d'attente (Pa)
sources Wikipedia
![Page 57: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/57.jpg)
57
réseau de files d’attentes
![Page 58: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/58.jpg)
58
Approche pragmatique
Estimation globale à partir de tests standardisés (SPEC http://www.spec.org/)
Calibrage par des tests en charge
![Page 59: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/59.jpg)
59
![Page 60: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/60.jpg)
60
attend
( )( )( )
Augmentation des tailles de pools tant que le nombre de runnable n’excède pas le nombre de CPU
(vmstat)
Waiting for I/O
Runnable (mais de
pas de CPU dispo)
![Page 61: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/61.jpg)
61
attend
( )( )( )
Influence de la vitesse des utilisateurs
Influence des jeux
de données
Influence des scénarios joués
![Page 62: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/62.jpg)
62
Tout ce qui rentre doit ressortir ... en moyenne
90
File d’attente = temporisation des pics
![Page 63: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/63.jpg)
63
Cohérence plutôt que
Rock StarS
![Page 64: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/64.jpg)
64
L’entonnoir
![Page 65: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/65.jpg)
Dimensionner
la mémoire65
![Page 66: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/66.jpg)
66
GC, GC
Règle usuelle : temps de GC < 5% uptime process
Memory profiler ou-verbose:gc + GCViewer
![Page 67: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/67.jpg)
67
Les tailles Mémoire
-Xmx800m
4Go
![Page 68: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/68.jpg)
68
Les tailles Mémoire
4Go
OutOfMemory : Not enough swap space left
1,2 Go
-Xmx800m
quota 1Go
![Page 69: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/69.jpg)
69
ne pas prendre tous les messages au pied de la lettre
douter
![Page 70: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/70.jpg)
ulimit, hyperviseurs, shaping réseau, les licences ...
Les Quotas
70
Mutualisation de ressources, Réserver des ressources au système, Priorisation de service,Facturation
![Page 71: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/71.jpg)
71
![Page 72: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/72.jpg)
72
![Page 73: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/73.jpg)
73
1 CPU
![Page 74: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/74.jpg)
74
( )( )
( )
( )( )
( )( )
( )
( )( )
( )( )
( )
( )( )
Tout le monde attend
La limite logicielle est préférable à l’écroulement
Taille du pool trop ambitieuse
![Page 75: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/75.jpg)
75
![Page 76: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/76.jpg)
76
Taille du pool
inefficace
![Page 77: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/77.jpg)
77
![Page 78: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/78.jpg)
78
Ressources limitées +
Ressources non rendues+
Charge
Saturation
![Page 79: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/79.jpg)
MémoireConnexion non rendue au pool Thread bloqué
79
![Page 80: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/80.jpg)
Evaluer l'utilité des caches : thrashing, jamais relus
Utiliser un vrai cache : gestion de la durée de rétention, recyclage,utilisation de weak/soft reference
80
Les pseudos fuites
![Page 81: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/81.jpg)
Récap
Capacité81
![Page 82: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/82.jpg)
Les indicateurs se dégradent progressivement
82
Se produit avec le temps même à faible charge
Se produit sous charge
Souvent écroulement après un pic de charge
Pas de saturation de limites matérielles
Signes
Affecte l’ensemble des use cases
![Page 83: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/83.jpg)
83
Prévention
Tests de vieillissement
Tests en charge
Capacity Planning
![Page 84: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/84.jpg)
84
![Page 85: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/85.jpg)
85
Ressource à partager
Verrou
Lock Transactionnel
(DB)
synchronized(Java)
![Page 86: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/86.jpg)
86
Très long si
attente mutuelle(Deadlock / Livelock)
ou
famine sur le premier
![Page 87: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/87.jpg)
87
Situations propices
variables de classes
variables d’application (compteurs applicatifs)
collections auto-synchronized (Vector, Hashtable)
![Page 88: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/88.jpg)
Java→ Thread Dump + outil d'analyse
(MAT, JCA, HealthCenter, Samourai)
Evaluer les portées des synchronized
BD→ voir les outils de DBA
88
![Page 89: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/89.jpg)
89
![Page 90: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/90.jpg)
90
![Page 91: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/91.jpg)
91
![Page 92: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/92.jpg)
92
Ressource à partager
Verrou
Corruption de données partagées Comportement
instable
![Page 93: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/93.jpg)
Utilisation par plusieurs threads de variables de classe non multi-thread safe(formatters)
93
![Page 94: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/94.jpg)
94
Situations propices- Optimisations sauvage des synchronized pour régler
des problèmes de performance
- Caches et compteurs applicatifs mal gérés- Formatters
![Page 95: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/95.jpg)
95
Proposer des alternatives propres
Concurrent Collections
librairie «parallèles» type Gpars
Immutabilité
Thread Local, Volatile
Synchronized à portée réduite
![Page 96: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/96.jpg)
Récap
Concurrence96
![Page 97: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/97.jpg)
Affecte plus certains use case
97
A faible charge
Signes
- Incohérence- Instabilité
- Très faible consommation de ressources- Temps très longs (time-outs)
![Page 98: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/98.jpg)
98
Prévention
Provoquer le conflit par un tests à 2 utilisateurs simultanés
1 des 2 est en erreur ... si vous avez de la chance
Très difficile à identifier
1 des 2 est deux fois plus long
![Page 99: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/99.jpg)
99
![Page 100: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/100.jpg)
Localisé sur un use case
100
Long même en unitaire
Signes
Variations pour un même use case Volume
Préciser le scénario - donnée en cause- volumes / répétition- scénario alternatif
![Page 101: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/101.jpg)
Dresser
le bilan
101
![Page 102: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/102.jpg)
102
Temps de rendering
Temps de réponse serveur
![Page 103: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/103.jpg)
103
![Page 104: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/104.jpg)
104
![Page 105: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/105.jpg)
105
![Page 106: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/106.jpg)
106
![Page 107: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/107.jpg)
107
![Page 108: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/108.jpg)
108
Plusieurs sources
Latences
![Page 109: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/109.jpg)
109
Faire
Les Parler
Chiffres
![Page 110: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/110.jpg)
Série Chronologique
Et sa distribution
110
![Page 111: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/111.jpg)
Quelques mauvais temps isolés
Temps très variables
Bimodale !? ...
111
![Page 112: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/112.jpg)
Que dis cette bimodale ?
112
![Page 113: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/113.jpg)
Comportement différent selon les instances
Plusieurs cas sous le même use case mesuré
Lock
Cache
Que dis cette bimodale ?
113
![Page 114: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/114.jpg)
114
![Page 115: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/115.jpg)
115
- Limiter le temps d’attente et les traiter les non-réponse en erreur
- Logguer les temps anormaux aux extrémités du système
- utiliser des appels asynchrones
Appels externes
![Page 116: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/116.jpg)
116
Répétition
- log, requêtes JDBC dans des boucles
- requêtes involontaires (cascade, refresh)
- répétition induite par le volume de données bon candidat pour la parallélisation techniques de Map Reduce
- problèmes d’algorithme
![Page 117: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/117.jpg)
117
Complexité algorithmique http://fr.wikipedia.org/wiki/Th%C3%A9orie_de_la_complexit%C3%A9_des_algorithmes
![Page 118: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/118.jpg)
118
Structures de données
- Informations additionnelles (index, tri)
- Organisation de l’information pour faciliter les parcours
- Structures spécialisées (tables de hachage, arbres équilibrés)
![Page 119: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/119.jpg)
119
VolumeFractionnement
Facteurs de blocage- Ecritures fichiers bufferisées- JDBC Fetch size
Redimensionnement de structures de données non mutables
![Page 120: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/120.jpg)
Conclusion .
120
![Page 121: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/121.jpg)
121
Priorités
Fonctions Robustesse
StabilitéRapidité
![Page 122: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/122.jpg)
122
![Page 123: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/123.jpg)
123
Anticiper ≠ planifier
![Page 124: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/124.jpg)
124
http://javaperformancetuning.com/
http://highscalability.com/
http://velocityconf.com/velocity20xx
Quelques ressources
![Page 125: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/125.jpg)
125
Questions ?
@cfalguiere
Merci pour votre attention
![Page 126: Diagnostic performances](https://reader034.vdocuments.mx/reader034/viewer/2022051323/54972900b479598b248b4573/html5/thumbnails/126.jpg)
126