en direct du centre d’escalade du support microsoft : comment dépanner des problèmes de...

27
palais des congrès Paris 7, 8 et 9 février 2012

Upload: microsoft-technet-france

Post on 08-Jul-2015

478 views

Category:

Technology


2 download

DESCRIPTION

Vous avez des problèmes de performance disques, , Problème de lenteur au boot/logon de Windows, vous avez des problèmes de consommation CPU anormalement élevés, des fuites mémoire etc.... Nous allons vous montrer comment le « Windows Performance Toolkit » va très vite vous devenir indispensable. Le « Windows Performance Toolkit » et le moteur « Event Tracing for Windows » sont probablement ce qui a transformé le plus Windows ces 6 dernières années.

TRANSCRIPT

Page 1: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

palais des

congrès

Paris

7, 8 et 9

février 2012

Page 2: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Philippe Dieulafait \ Hervé ChapalainIngénieurs d’EscaladeMicrosoft

En direct du Centre d'Escalade

du Support Microsoft :

Comment dépanner des

problèmes de performance ?

(LAN403)

Page 3: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Fuites mémoire mode User

Fuites mémoire mode Kernel

Performance disque

Performance lors du boot

Agenda

Page 4: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Windows Performance Toolkit (WPT 4.7)

Disponible dans le Windows SDK 7.1

Event Tracing for Windows (ETW)

Voir les nombreux articles dans MSDN

Outils et Technologie

Page 5: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Heap Leak

• Permet de tracer les fuites mémoire des applications mode User utilisant le Heap Manager

Démarrage du tracing

xperf -on Base -start HeapLeak -stackwalkHeapAlloc+HeapRealloc -heap -Pids <PID>

Arrêt du Tracing

xperf -stop HeapLeak -stop -d heap.etl

Page 6: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Pool Leak

• Permet de tracer les fuites mémoire des pools du kernel de Windows

Démarrage du tracing

xperf -on Base+POOL -stackwalkPoolAlloc+PoolAllocSession+PoolFree+PoolFreeSession –minbuffers 1000 -BufferSize 1024 -MaxBuffers 1024 -MaxFile 1024 -FileMode Circular

Arrêt du Tracing

xperf -d pool.etl

Page 7: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Performance disques

Windows Server 2008 R24 x 1.5 TB en RAID 0

iSCSI

Page 8: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Performance disques

IoMon.exeUser

Kernel

ntfs.sys

volsnap.sys

volmgr.sys

partmgr.sys

disk.sys

Stack File System

Stack Volume

Stack Disk

storport.sys

msiscsi.sysPort Driver + miniport

Logical Disk Counters

Physical Disk Counters+ETW DISK_IO

ETW Storport

Page 9: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Performance disques

• Activation des traces

Démarrage du tracing

xperf -on DISK_IO

Arrêt du Tracing

xperf -d diskio.etl

Page 10: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Phase de Boot et

Performance

Page 11: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Pourquoi le processus de démarrage est si

complexe?

Interaction de nombreux composants Inbox et 3rd

partie

Aperçu du processus de

démarrage

BIOSOS

LoaderOS Initialization

BIOSOS

LoaderKernel

InitializationSession

InitializationWinlogon

InitializationExplorer

Initialization‘Post Boot’

Activity

Numerous application & services consuming CPU &disk resources

Initialize the shell, process & run auto run tasks

Launch various services, orchestrate session logon

Initialize sessions, load win32k subsystem, Initialize, graphics, launch SCM

Enumerate devices, initialize & start drivers (PnP)

Read drivers,read parts of registry

( pas à l’échelle)

Page 12: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

ReadyBoot Prefetcher

‘Post Boot’Activity

BIOSOS

LoaderKernel

InitializationSession

InitializationWinlogon

InitializationExplorer

Initialization

ReadyBoot prefetcher

In-RAMReadyBoot

Cache

Hard Drive

OS Components

File System

I/O

Volume Manager

Prefetching reads

OS, apps, & services reads

(cache hits)

ApplicationsOS Components

OS Components

ReadyBoot Driver

IO Stack

OS, apps, & services reads(cache misses)

Page 13: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Externe au code de l’OS

Délai induit par la détection d’un CD ou

l’initialisation Boot PXE

Pas reporté directement par Xperf

BIOS « Boot Phase »

BIOS

Page 14: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Démarre quand le BIOS passe le contrôle au

Loader (Winload)

Se termine lorsque le contrôle est passé au

noyau (Kernel)

Problème de performance:

Drivers non signé avec un certificat valide

Durée quelques secondes (dépendra du nombre

de drivers tiers installés)

OS Loader (Pre-Session Init Boot

Phase) BIOS

OS Loader

Xperf vue

Page 15: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Contient le Noyau (kernel de base) et

l’initialisation PnP

‘’Boot PnP Sub-Phase‘’

‘’Foreground System PnP Sub-Phase‘’

Problème de performance:

Drivers initialisation / Énumération des Devices …

Drivers défectueux, algorithmes mal optimisés

Drivers non signé avec un certificat valide

Kernel Init (Pre-Session Init Boot

Phase)BIOS

OS Loader

KernelInitialization

Xperf vue

Page 16: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Activités telles que Autochk et initialisation de la Vidéo

Action concernant les mises à jours ‘’retardé’’

System PnP Sub-Phase ‘’continue‘’ (Backgroud)

Commun à cette phase: le délai de l’initialisation de la Vidéo

Problème de performances supplémentaire si les actions PnP en ‘’Background‘’ prennent du temps

Session Init Boot Phase

BIOSOS

LoaderKernel

InitializationSession

Initialization

Xperf vue

Page 17: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Initialisation du SCM (Services.exe)Initialisation de la plupart des Services

Écran ‘’Bienvenue‘’

Écran de Logon

Initialisation du Desktop

Problème de performance:

Mappage connexion réseau

GPO du Domain

Services qui démarrent (Démarrage se poursuivant dans les phases suivantes)

Une charge I/O et CPU importantes peuvent augmenter la durée de cette phase

Winlogon Init Boot Phase

BIOSOS

LoaderKernel

InitializationSession

InitializationWinlogon

Initialization

Xperf vue

Page 18: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Le temps pour L’Explorer de charger ces

paramètres et les initialiser

Principalement consacré passé à initialiser

l’interface utilisateur

Phase habituellement rapide prenant quelques

secondes

Explorer Init Boot Phase

BIOSOS

LoaderKernel

InitializationSession

InitializationWinlogon

InitializationExplorer

Initialization

Xperf vue

Page 19: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Le ‘’Background processing’’ continue iciServices poursuivant leur démarrage

Activité du Prefetching ( si le Boot ‘’footprint‘’ est large)

Activité Antivirus

Démarrage des applications Raccourcis dans le Tray, indicateur de statuts OEM, IM software, applications de démarrage utilisateur customisées, etc

Typiquement on peut voir 20 à 40(voire plus) processus 3rd partis qui démarrent

Forte consommation des ressources CPU et Disque ce qui peut provoquer un goulet d’étranglement (Bottleneck)

L’impact avec l’utilisateur peut être important avec un sentiment de lenteur générale

Phase considérée terminée lorsque le Système est raisonnablement Idle (accumulation d’un total de 10s d’Idle time CPU et Disque)

Post Boot Phase

BIOSOS

LoaderKernel

InitializationSession

InitializationWinlogon

InitializationExplorer

InitializationPost Boot

Xperf vue

Page 20: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Post Boot PhaseD

isk Utilizatio

nD

isk

Uti

lizat

ion

CP

U U

tilization

CP

U U

tiliz

atio

n

Clean-install Boot Real User Boot

Exemple : Post Boot ressources utilisation

Page 21: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Modifiez le titre de l’annonce

DEMO

Page 22: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Exemplexbootmgr -trace boot -traceflags base+latency+dispatcher+Drivers -stackwalk

profile+cswitch+readythread -notraceflagsinfilename -postbootdelay 90 <Path>

Sur un OS X64 ajouter le paramètre suivant:

HKLM\System\CurrentControlSet\Control\Session Manager\Memory

Management

DisablePagingExecutive

REG_DWORD

Value: 1

Redémarrer l’ordinateur

Une fois la trace terminée pensée à changer la valeur de

DisablePagingExecutive à 0 ou a supprimer cette entrée crée

Créer une trace au démmarage

Page 23: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

xperf -help processingAffiche les options pour extraire les données d’un fichier ETL

xperf -i tracename.etl -o summary.xml -a boot

Créer un résumé de la trace dans un fichier XML

XperfView

Demo Boot Phases

Page 24: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Sans Symbols

Symbols or not Symbols?

Avec Symbols

Page 25: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Exemple de problème de signature

DEMO

Page 26: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Windows Performance Analysis Developper Center

http://msdn.microsoft.com/en-us/performance/cc709422

Windows On/Off Transition Performance Analysis

http://msdn.microsoft.com/fr-fr/windows/hardware/gg463386

Windows On/Off Transitions Solutions Guide

http://msdn.microsoft.com/en-us/windows/hardware/gg463230

Liens

Page 27: En direct du Centre d’Escalade du Support Microsoft : Comment dépanner des problèmes de performance ?

Chaque semaine, les

DevCampsALM, Azure, Windows Phone, HTML5, OpenDatahttp://msdn.microsoft.com/fr-fr/devcamp

Téléchargement, ressources

et toolkits : RdV sur MSDNhttp://msdn.microsoft.com/fr-fr/

Les offres à connaître90 jours d’essai gratuit de Windows

Azure

www.windowsazure.fr

Jusqu’à 35% de réduction sur Visual

Studio Pro, avec l’abonnement MSDN

www.visualstudio.fr

Pour aller plus loin

10

février

2012

Live

Meeting

Open Data - Développer des applications riches avec le

protocole Open Data

16

février

2012

Live

Meeting

Azure series - Développer des applications sociales sur

la plateforme Windows Azure

17

février

2012

Live

Meeting

Comprendre le canvas avec Galactic et la librairie

three.js

21

février

2012

Live

Meeting

La production automatisée de code avec CodeFluent

Entities

2 mars

2012

Live

Meeting

Comprendre et mettre en oeuvre le toolkit Azure pour

Windows Phone 7, iOS et Android

6 mars

2012

Live

MeetingNuget et ALM

9 mars

2012

Live

MeetingKinect - Bien gérer la vie de son capteur

13 mars

2012

Live

MeetingSharepoint series - Automatisation des tests

14 mars

2012

Live

Meeting

TFS Health Check - vérifier la bonne santé de votre

plateforme de développement

15 mars

2012

Live

Meeting

Azure series - Développer pour les téléphones, les

tablettes et le cloud avec Visual Studio 2010

16 mars

2012

Live

Meeting

Applications METRO design - Désossage en règle d'un

template METRO javascript

20 mars

2012

Live

Meeting

Retour d'expérience LightSwitch, Optimisation de

l'accès aux données, Intégration Silverlight

23 mars

2012

Live

Meeting

OAuth - la clé de l'utilisation des réseaux sociaux dans

votre application

Prochaines sessions des Dev Camps