La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Jules Mak-Po-Pan Page 1 Cours PERFSTAT Lecture des rapports de STATPACK 2 Verrous mémoire et Cie.

Présentations similaires


Présentation au sujet: "Jules Mak-Po-Pan Page 1 Cours PERFSTAT Lecture des rapports de STATPACK 2 Verrous mémoire et Cie."— Transcription de la présentation:

1 Jules Mak-Po-Pan Page 1 Cours PERFSTAT Lecture des rapports de STATPACK 2 Verrous mémoire et Cie

2 Jules Mak-Po-Pan Page 2 Sommaire Analyse des verrous mémoire Analyse lectures logiques et physiques Analyse du cache dictionnaire Activité du cache librairie

3 Jules Mak-Po-Pan Page 3 Analyse des Verrous (Latch) Qu est-ce qu un verrou mémoire ? : –Elles permettent de protéger un cache mémoire PARTAGE en verrouillant cette zone dès qu un process y accède. –Elle est libérée lorsqu elle nest plus utilisée. –Une file d attente est gérée pour chaque buffer. Les processes en attente sont appellées les WILLING-TO-WAIT, ils réitereront leur demande plus tard. –A contrario de les processes appelées IMMEDIATE ne réitereront pas leur demande sils n ont pas de verrou immédiatement. –Ce temps d attente est couteux en temps CPU car si un verrou n est pas attribué alors le CPU en refait la demande. –Certaines demandes peuvent ne pas être renouvellées, dans ce cas l exécution de celle se fera en zone NON partagée.

4 Jules Mak-Po-Pan Page 4 Pour plus de détails dans les mesures, il faut aller voir dans la table V$LATCH L audit des verrous dans le rapports STATPACK se basent sur les WILLING-TO- WAIT et concerne: –Les attentes d un process pour obtenir un VERROU –Elle sont mesurées en nombre de demandes de verrous satisfaites et en non satisfaites (abandonnées). –Si un grand nombre de process obtiennenent rapidement un verrou cela signifie 2 choses : Ou que les verrous sont rapidements libérés. Ou quil y a peu d accès concurrents à un buffer.

5 Jules Mak-Po-Pan Page 5 +Intérêt des verrous –Garantit l intégrité des données dans un contexte de partage de données. –Garantit un accès aux données demandées à plus ou moins longue échéance -Inconvénients –Gestion lourde et consommatrice en temps CPU, gestion de files d attente supplémentaires. –Augmentation des temps d attente –Difficiles à tuner

6 Jules Mak-Po-Pan Page 6 L audit se porte sur les valeurs suivantes –Get Requests : Nombre totale de demandes de verrous satisfaites. –Pct get misses : Taux de demande non satisfaites de verrous et qui n ont pas été réitérées. –Avg Slps/Misses : Taux de demandes en attentes qui n ont pas été réitérés. –Wait time (s) : Temps moyen d attente d un process avant obtention d un verrou. –No Wait requests : Nombre de demande satisfaites immédiatement. –Pct NoWait misses : Taux de demandes non satisfaites immédiatement et NON réitérées.

7 Jules Mak-Po-Pan Page 7 Les plus 3 buffers les plus importants de la SHARED POOL Hash chain Cache buffer (Partie données partagées) LRU Chain Dictionnary cacheLibrary cache Cache buffer chainCache buffer lru chain Row cache buffer Library cache Sha- red pool latch

8 Jules Mak-Po-Pan Page 8 Les plus importants verrous auditées : –Cache buffer chains : Ce verrou protège l accès au hash chain du buffer cache. Si le temps t attente est élevé c est que les recherches dans le cache sont longues. Pct Avg Wait Pct Get Get Slps Time NoWait NoWait Latch Requests Miss /Miss (s) Requests Miss cache buffers chains 12,066, , Il a y eu 12,066,792 demandes satisfaites pour un taux de demandes non- satisfaites est de 0,2%, le temps d attente moyen avant d être satisfait est de 2s. Il y a donc eu beaucoup d attentes. En revanche il n y a eu que demandes satisfaites immédiatement pour 0% d échecs. On en conclu qu il y eu beaucoup d accès aux buffer cache : Une entrée du hash-code pointe sur beaucoup de blocs de données : délai de recherche longues. Une entrée du hash-code pointe sur trop peu de blocs de données : peu de donnés partagées ou groupement de données trop forte. Consulter la vue x$bh pour analyser les hash chains

9 Jules Mak-Po-Pan Page 9 - Cache buffer LRU chain : Ce verrou est mis lorsqu un process cherche à accèder à la liste des objets les plus récemments utilisées (Last Recently Used) dans le cache buffer, ce paramètre permet aux processes d accèder directement au buffer SANS recherches: Pct Avg Wait Pct Get Get Slps Time NoWait NoWait Latch Requests Miss /Miss (s) Requests Miss cache buffers lru chain , Il n y a eu que 574 demandes satisfaites par le LRU, le taux de demandes non- satisfaites est de 0,0%, le temps dattente moyen avant d être satisfait est de 0s. Le LRU est donc très efficace et peu sollicitée => trop petite. Ceci est symptomatique que : Les données dans la SHARED POOL ont été réutilisées peut de fois dans un cycle LRU. Augmenter le nombre de verrous : Paramètre db_block_lru_latches trop petite Réduire le nombre d accès au buffer cache : une shared pool mal taillée.

10 Jules Mak-Po-Pan Page 10 - Rows Cache objects : Verrou du dictionnaire de données. Ce verrou est très utilisée pendant le parsing. Pct Avg Wait Pct Get Get Slps Time NoWait NoWait Latch Requests Miss /Miss (s) Requests Miss row cache objects 4,049, , Il y eu 4,049,353 demandes satisfaites pour un taux de demandes non-satisfaites est de 3,5%, le temps d attente moyen avant d être satisfait est de 1s. Il y a donc eu beaucoup d attentes et 3,5% d entre-eux n ont pas réitérés leurs demande. Par contre il y a eu PEU de demandes satisfaites directement (1044). Ceci est symptomatique d une mauvaise réutilisation du code, en effet en 25mn il y a eu près de 5000 demandes de parsing

11 Jules Mak-Po-Pan Page 11 - ROWS Cache enqueue latch : Cest un verrou qui est mis sur la file d attente du cache de données partagées. Elle traduit les locks qu il y a eu sur le cache dictionnaire. Pct Avg Wait Pct Get Get Slps Time NoWait NoWait Latch Requests Miss /Miss (s) Requests Miss row cache enqueue latch 4,049, Il y a eu 4,049,353 demandes satisfaites pour un taux de demandes non-satisfaites est de 0,7%. Il y a donc eu beaucoup de monde dans la file d attente du buffer de données partagées. De fait il y a eu beaucoup de résultats partagées avec des process antérieurs et peu (0,7) de renouvellements.

12 Jules Mak-Po-Pan Page 12 Activité des verrous Pct Avg Wait Pct Get Get Slps Time NoWait NoWait Latch Requests Miss /Miss (s) Requests Miss row cache enqueue latch 4,049, row cache objects 4,049, , shared pool 96, Le % de demandes non réitérées (Pct Misses) les plus importantes concernent le ROW Cache Objects, la Row cache enqueue latch et la share pool. Cela signifie que : - 3,5% des demandes d accès au ROW Cache Objects ont fini par être faites ailleurs et que l attente pour obtenir un verrous sur ce cache a été en moyenne de 1s - En 25mn il y a eu peu de transfer de données en shared pool. Ou la shared pool se suffit à elle-même ou les même transactions ont été passées plusieurs fois, ou elle est trop petite.

13 Jules Mak-Po-Pan Page 13 Conclusion de l analyse des verrous : –Beaucoup demandes de verrous Files d attente trop longue –Recherches longues dans la Shared Pool SHARED POOL AREA trop grande donc temps de recherche longue –Mécanisme LRU peu sollicitée : faible taux de réutilisation des données récentes. Beaucoup de changements de données dans le cache –Peu de demandes de transfert dans la Shared Pool Peu de données dans le DATA BUFFER CACHE sont éligibles pour le partage. SHARED POOL AREA trop petite car peu de transfers inter-caches.

14 Jules Mak-Po-Pan Page 14 SHARED POOL AREA TROP GRANDE : Confirmée par la SHARED POOL ADIVISORY Estd Shared Pool SP Estd Estd Estd Lib LC Time Size for Size Lib Cache Lib Cache Cache Time Saved Estd Lib Cache Estim (M) Factr Size (M) Mem Obj Saved (s) Factr Mem Obj Hits ,027 12, ,964, ,601 12, ,964, ,219 12, ,964, ,219 12, ,964, ,219 12, ,964, ,219 12, ,964, ,219 12, ,964, ,219 12, ,964,280

15 Jules Mak-Po-Pan Page 15 Sommaire Analyse des verrous mémoire Analyse lectures logiques et physiques Analyse du cache dictionnaire Activité du cache librairie

16 Jules Mak-Po-Pan Page 16 Top 5 : Lectures en cache par segments Subobject Obj. Logical Owner Tablespace Object Name Name Type Reads %Total ADELIE SILODECL_I IX_DONNEE_TVA_03 PT_2003T4 INDEX 383, ADELIE SILODECL_I IX_DONNEE_TVA_03 PT_2004T1 INDEX 329, ADELIE SILODECL_I IX_DONNEE_TVA_03 PT_2002T2 INDEX 325, ADELIE SILODECL_I IX_DONNEE_TVA_03 PT_2002T4 INDEX 324, ADELIE SILODECL_I IX_DONNEE_TVA_03 PT_2003T2 INDEX 322, –Environ 25% des lectures en cache se sont fait sur un seul index : DONNEE_TVA. –Intérêt du partitionnement –25% sur le même tablespace

17 Jules Mak-Po-Pan Page 17 Lectures physiques par segments Owner Tablespace Object Name Name Type Reads %Total ADELIE SILODECL_I IX_DONNEE_TVA_03 PT_2003T4 INDEX 1, ADELIE SILODECL_D DEPOT_TVA PT_2003T4 TABLE 1, ADELIE SILODECL_D DONNEE_TVA PT_2003T4 TABLE 1, ADELIE SILODECL_D DONNEE_TVA PT_2004T1 TABLE 1, ADELIE SILODECL_I IX_IMPRIME_TVA_03 PT_2003T4 INDEX 1, –11,5% des lectures physiques sur DONNEE_TVA –6,7% de lecture physiques sur l index IX_DONNE_TVA (P4) !!! Alors qu une partie est déjà dans le cache. –12,8% des lectures physiques sur la partition des données PT_2003T4 –12,5% des lectures physiques sur partition d index PT_2003T4

18 Jules Mak-Po-Pan Page 18 Top 5 : Attentes dans le cache par segments Owner Tablespace Object Name Name Type Reads %Total ADELIE SILODECL_I IX_DONNEE_TVA_03 PT_2003T4 INDEX 1, ADELIE SILODECL_D DEPOT_TVA PT_2003T4 TABLE 1, ADELIE SILODECL_D DONNEE_TVA PT_2003T4 TABLE 1, ADELIE SILODECL_D DONNEE_TVA PT_2004T1 TABLE 1, ADELIE SILODECL_I IX_IMPRIME_TVA_03 PT_2003T4 INDEX 1, –11,5% concernent DONNEE_TVA = Lectures physiques –Dont 6,7% sur un de ses indexes

19 Jules Mak-Po-Pan Page 19 Conclusions –Attentes dues aux lectures physiques –12,8% des lectures physiques concernent la même partition d un tablespace –Indexes pas totalement chargées en cache entraine des lectures physiques. –Etude du poids des I/Os nécessaire pour rééquilibrage des partitions de DONNEE_TVA Utiliser le paramètre BUFFER_POOL_KEEP pour garder un max de temps une table en mémoire (Attention mécanisme LRU) Précéder les requêtes par un ALTER TABLE DONNEE_TVA CACHE.

20 Jules Mak-Po-Pan Page 20 Sommaire Analyse des verrous mémoire Analyse lectures logiques et physiques Analyse du cache dictionnaire Activité du cache librairie

21 Jules Mak-Po-Pan Page 21 Analyse du cache dictionnaire –Contient les objets système –Contient les objets des schémas –Ce sont les objets les plus sollicités

22 Jules Mak-Po-Pan Page 22 Statistiques du le cache dictionnaire Get Pct Scan Pct Mod Final Cache Requests Miss Reqs Miss Reqs Usage dc_free_extents dc_histogram_defs 52, dc_object_ids 58, dc_objects 5, dc_profiles dc_rollback_segments dc_segments 5, dc_sequences dc_tablespaces 939, dc_user_grants dc_usernames dc_users 962, –Forte sollicitation en select (DC_ROLLBACK_SEGMENTS). –Beaucoup d utilisateurs connectés (DC_USERS) –Base peu sollicitée en mise à jour (dc_rollback_segments)

23 Jules Mak-Po-Pan Page 23 Conclusion –Base utilisée en select –Beaucoup de connexions à gérer : Gestion des accès Gestion des droits Gestion des définitions d objets

24 Jules Mak-Po-Pan Page 24 Sommaire Analyse des verrous mémoire Analyse lectures logiques et physiques Analyse du cache dictionnaire Activité du cache librairie

25 Jules Mak-Po-Pan Page 25 Activité du cache librairie Library Cache Activity for DB: SILODECL Instance: SILODECL Snaps: >"Pct Misses" should be very low Get Pct Pin Pct Invali- Namespace Requests Miss Requests Miss Reloads dations BODY INDEX 19, , SQL AREA 1, , TABLE/PROCEDURE 12, , TRIGGER Beaucoup de pertes dans la SQL aréa : 1558 demandes d accès : 39,9% de demandes non résolues 5929 demandes de chargement de code dans la SQL aréa mais 21% non faits.

26 Jules Mak-Po-Pan Page 26 Conclusion –39,9% des recherches de codes SQL n ont pas aboutit –21% de chargement de code qui n ont pu être faits


Télécharger ppt "Jules Mak-Po-Pan Page 1 Cours PERFSTAT Lecture des rapports de STATPACK 2 Verrous mémoire et Cie."

Présentations similaires


Annonces Google