Vous êtes sur la page 1sur 49

1

Topic 200: Capacity Planning


Présenté par : Elies Jebri

LPIC-3 Certified

RHCE Certified
2

LPI-201
Sujet 200 : Planification des ressources
• 200.1 Mesure de l'utilisation des
ressources et résolution de problèmes
• 200.2 Prévision des besoins en
ressources (valeur : 2)
3

Concepts de base
• Certaines ressources ont un impact direct sur les
performances du système et sur la productivité et
satisfaction de vos utilisateurs.
• le contrôle des ressources est l'obtention
d'informations sur l'utilisation d'une ou plusieurs
ressources système.
• Il faut tout d'abord prendre en compte les
ressources devant être contrôlées.
• Il est nécessaire d'examiner chaque système devant
être contrôler
• Prêter une attention particulière à la situation
spécifique de chaque système.
4

Les systèmes à surveiller


• Se divisent en deux catégories :
▫ En ce moment, le système connaît de temps à autre
des problèmes de performance et vous aimeriez
améliorer la situation.
▫ Actuellement le système fonctionne parfaitement et
vous souhaitez que la situation demeure ainsi.
• Pour la première catégorie, contrôler le système
dans une perspective de performance système,
• Pour la deuxième catégorie, contrôler les ressources
système dans une perspective de planification de la
capacité.
5

Contrôle de la performance du
système
• Généralement effectué pour répondre à des
problèmes de performance.
• Soit le système tourne trop lentement,
• Soit les programmes (et parfois même le système
entier) ne réussit pas à tourner du tout.
6

Contrôle de la performance du
système (2)
Dans les deux cas, le contrôle de la performance est
effectué en première ou dernière étape d'un processus
en trois étapes :
▫ Contrôle du système pour identifier la nature et
l'envergure du manque de ressources à l'origine des
problèmes de performance
▫ Analyse des données obtenues lors de la phase de
contrôle et prise de mesures (réglage de performance
et/ou obtention de matériel supplémentaire) pour
résoudre le problème
▫ Contrôle du système pour confirmer que le problème
de performance à bien été résolu
7

Contrôle de la capacité du système


• Effectué en tant que programme permanent de
planification de la capacité.
• Planification à long terme pour déterminer des
taux de changement dans l'utilisation des
ressources système.
• Une fois les taux de changement connus,
possibilité de planification plus précise et à long
terme, pour l'obtention de ressources
supplémentaires.
8

Différences
• Le contrôle effectué à des fins de planification de
capacité est différent du contrôle de
performance et ce, à deux niveaux :
▫ Le contrôle a lieu de manière plus ou moins
continue
▫ Le contrôle est généralement moins détaillé
9

Quelles ressources à contrôler


• Puissance de CPU
• Largeur de bande
• Mémoire
• Stockage
10
11

Contrôle de la puissance CPU


• Il est rares qu’un système n'atteint pas, à un
moment ou à un autre, une utilisation du CPU à
100%.
• Il est important d'examiner des données plus
détaillées sur l'utilisation du CPU.
• Identifier à quel niveau la majorité de la
puissance de traitement est utilisée.
• Ci-après figurent certaines des statistiques les
plus importantes en matière d'utilisation CPU
12

Utilisateur vs système
• Comparaison du pourcentage de temps passé à effectuer
des opérations de traitement de l'utilisateur par rapport
a celui dédié aux opérations de traitement du système,
• Charge due à l'exécution d'applications ou au temps de
gestion du système,
• Des pourcentages plus élevés au niveau des utilisateurs
ont tendance à être positifs (à condition que les
utilisateurs ne connaissent pas de performance
insatisfaisante)
• Des pourcentages plus élevés au niveau du système
tendent à indiquer qu'il existe des problèmes nécessitant
un examen plus détaillé.
13

Changements de contexte
• Se produit lorsque le CPU arrête d'exécuter un
processus particulier et en lance un autre.
• Étant donné que tout changement de contexte
demande que le système d'exploitation prenne
contrôle du CPU,
• Des changements de contexte excessifs vont de
paires avec des degrés élevés de consommation
CPU au niveau du système.
14

Interruptions
• Situations dans lesquelles un changement soudain
intervient au niveau du traitement effectué par le
CPU.
• Ont généralement lieu en raison d'une activité
matérielle (un périphérique effectuant une
opération d'E/S) ou d'un logiciel (interruptions
logicielles contrôlant le traitement d'applications).
• Étant donné que les interruptions doivent s'effectuer
à un niveau du système, un taux élevé
d'interruptions entraîne une consommation de CPU
plus élevée au niveau du système.
15

Processus exécutables
Un processus peut se trouver dans différents états. Il peut,
par exemple :
▫ Attendre qu'une opération d'E/S soit terminée
▫ Attendre que le sous-système de gestion de mémoire traite
un défaut de page
Dans ces cas-là, le processus n'a pas besoin du CPU.
• Si plusieurs processus sont exécutables à un moment
donné, tous les processus exécutables sauf un (mono
processeur) doivent attendre leur tour pour être traités
par le CPU.
• En contrôlant le nombre de processus exécutables, il est
possible de déterminer le degré de dépendance du
système par rapport au CPU.
16
17

Contrôle de la largeur de bande


• Les statistiques de performance ont tendance à
être basées sur les périphériques
• Dans les cas où plusieurs périphériques
partagent un bus commun, les statistiques
fournies sur chaque périphérique sembleront
acceptables,
• Mais la charge totale que ces périphériques
placent sur le bus est en réalité beaucoup plus
importante.
18

Statistiques courantes sur la largeur de


bande
• Nombre d'octets reçus/envoyés
• Décomptes des interfaces et taux : fournir des
indications sur des collisions excessives, des
erreurs de transmission et de réception.
• Transferts par seconde, recueillis pour les
périphériques blocs d'E/S, tels que les disques
durs et les lecteurs de bandes haute performance
19
20

Pages reçues (In)/Pages transmises (Out)


• Estimer le flux de pages entre la mémoire du
système et les périphériques de stockage de masse
qui y sont reliés,
• Des taux élevés pour ces deux types de statistiques
indiquent généralement que le système est à court
de mémoire physique et effectue des opérations
d'écroulement (ou thrashing) ou qu'il utilise plus de
ressources système pour charger des pages en
mémoire et pour les décharger que pour exécuter
des applications.
21

Pages actives/Pages Inactives


• Indiquent le degré d'utilisation des pages mises
en mémoire.
• L'absence de pages inactives peut représenter un
avertissement quant à un manque de mémoire
physique imminent.
22

Active/
Inactive
23

Swap Entrants/Swap sortants


• Expliquent le comportement générale de
l'échange de mémoire (ou swapping) du
système.
• Des taux excessivement élevés indiquent ici qu'il
existe peut-être des problèmes liés à un manque
de mémoire.
24
25

Contrôle du stockage
En matière de stockage, il existe généralement deux
types de contrôle différents :
• Contrôle pour garantir un espace disque suffisant
• Contrôle pour identifier des problèmes en relation
avec la performance
• Il est possible qu'un disque dur soit à court d'espace
sans pour autant entraîner de problème de
performance.
• De même, il est possible qu'un disque dur, bien que
disposant de 99% d'espace libre, fonctionne au-delà
de sa capacité en terme de performance.
26

Espace libre
• L'espace libre est probablement la ressource que
les administrateurs système surveillent le plus
étroitement ;
27

Statistiques sur les systèmes de


fichiers
• Le nombre de fichiers par répertoire, la taille
moyenne des fichiers, etc.) fournissent des
informations supplémentaires plus utiles que le
simple pourcentage d'espace libre.
• Les administrateurs peuvent configurer le
système de manière à optimiser la performance
car la charge d'E/S imposée par un système de
fichiers peuplé de petits fichiers n'est pas la
même que celle où un système de fichiers
comporte un seul fichier énorme.
28

Transferts par seconde


• Ce genre de statistique constitue un bon moyen
de déterminer si les limites de la largeur de
bande d'un périphérique particulier ont été
atteintes.
29

Opérations de lecture/écriture par


seconde
• Ces statistiques sous forme d'une ventilation
légèrement plus détaillée des transferts par
seconde permet à un administrateur système de
mieux comprendre la nature des charges d'E/S
auxquelles un périphérique peut être soumis.
• Cet aspect peut être critique dans la mesure où
certaines technologies de stockage ont des
caractéristiques de performance très différentes
en ce qui concerne les opérations de lecture par
rapport aux opérations d'écriture.
30

Commandes d'audit de performances


CPU Mémoire I/O Réseau
Vmstat,iostat Vmstat Iostat Lsattr
Ps Lsps Vmstat Netstat, entstat
Sar Svmon Lsps Nfsstat
Tprof,gprof,prof Filemon Lsattr Netpmon
Time timex Lsdev Ifconfig
Netpmon Lspv,lslv,lsvg Iptrace,ipreport
Locktrace Fileplace Tcpdump
filemon
Emstat,alstat lvmstat
Topas,performance Topas,performance Topas,performance Topas,performance
toolbox toolbox toolbox toolbox
Trace,trcrpt,curt,splat
Trace, trcrpt, truss Trace, trcrpt, truss Trace, trcrpt, truss
,truss
Cpustat,lparstat,mpst
Procmon, lparstat Nfs4cl
at, smtctl
31

vmstat <intervalle> <compte>


• Donne un aperçu de l'activité des processus, de la mémoire, du swap, des
E/S et du CPU
procs memory swap io system cpu
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 5276 315000 130744 380184 1 1 2 24 14 50 1 1 47 0

Les champs relatifs aux processus sont les suivants :


• r — Le nombre de processus exécutables attendant d'avoir accès au CPU
• b — Le nombre de processus exécutables dans un état de veille qui ne peut
être interrompu

Les champs relatifs à la mémoire sont les suivants :


• swpd — La quantité de mémoire virtuelle utilisée
• free — La quantité de mémoire libre
• buff — La quantité de mémoire utilisée par les tampons (ou buffers)
• cache — La quantité de mémoire utilisée comme cache de pages
32

vmstat
Les champs relatifs au swap sont les suivants :
• si — La quantité de mémoire chargée depuis le disque
• so — La quantité de mémoire déchargée sur le disque
Les champs relatifs aux Entrées/Sorties (E/S) sont les suivants :
• bi — Blocs envoyés vers un périphérique blocs
• bo— Blocs reçus d'un périphérique blocs
Les champs relatifs au système sont les suivants :
• in — Nombre d'interruptions par seconde
• cs — Nombre de changements de contexte par seconde
Les champs relatifs au CPU sont les suivants :
• us — Le pourcentage de temps pendant lequel le CPU exécute un code de
niveau utilisateur
• sy — Le pourcentage de temps pendant lequel le CPU exécute un code de
niveau système
• id — Le pourcentage de temps pendant lequel le CPU était inoccupé
• wa — Attente d'E/S
33

La commande uptime
• indique la charge moyenne sur respectivement 1,
5 et 15 minutes.
• Par charge moyenne, on entend le nombre
moyen de processus en attente d'exécution ou en
sommeil.

$ uptime
10:11:56 up 20 days, 22:20, 1 user, load average: 0.67, 0.58, 0.46
34

Sysstat, la suite d'outils de contrôle


des ressources
iostat
• Affiche une vue d'ensemble de l'utilisation CPU ainsi que des statistiques
d'E/S pour un ou plusieurs disque(s) dur(s).
mpstat
• Affiche des statistiques plus détaillées sur le CPU.
sadc
• Connu comme le collecteur de données sur l'activité du système, sadc
recueille des informations relatives à l'utilisation des ressources système et
les enregistrent dans un fichier.
sar
• Génère des rapports à partir des fichiers créés par sadc ; ces rapports sar
peuvent être produits de manière interactive ou écrits dans un fichier qui
fera l'objet d'une analyse plus approfondie.
35

iostat <intervalle>
• Fournit une vue d'ensemble des statistiques du
CPU et des E/S de disque

Linux 2.4.20-1.1931.2.231.2.10.ent (host1.example.com) 07/11/2013


avg-cpu: %user %nice %sys %idle
6.11 2.56 2.15 89.18
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
dev3-0 1.68 15.69 22.42 31175836 44543290
36

iostat
• Le rapport d'utilisation du CPU inclut les pourcentages
suivants :

• Pourcentage du temps passé en mode utilisateur


(exécutant des applications, etc.)

• Pourcentage du temps passé en mode utilisateur (pour


les processus qui ont modifié leur priorité de
programmation à l'aide de la commande nice(2))

• Pourcentage du temps passé en mode noyau

• Pourcentage du temps passé en inactivité


37

iostat
Le rapport d'utilisation des périphériques contient une ligne
pour chaque périphérique disque du système

• La spécification du périphérique, sous la forme dev<major-


number>-sequence-number où <major-number> est le
nombre majeur du périphérique et <sequence-number> le
numéro de série dont le premier élément est zéro.
• Le nombre de transferts (ou opérations d'E/S) par seconde.
• Le nombre de blocs de 512 octets lus par seconde.
• Le nombre de blocs de 512 octets écrits par seconde.
• Le nombre total de blocs de 512 octets lus par seconde.
• Le nombre total de blocs de 512 octets écrits par seconde.
38

La commande mpstat
• informations semblables à celles incluses dans le
rapport d'utilisation du CPU produit par iostat
• Avec l'option -P ALL :
Linux 2.4.20-1.1931.2.231.2.10.ent (host1.example.com)
07/11/2003

07:13:03 PM CPU %user %nice %system %idle intr/s


07:13:03 PM all 6.40 5.84 3.29 84.47 542.47
07:13:03 PM 0 6.36 5.80 3.29 84.54 542.47
07:13:03 PM 1 6.43 5.87 3.29 84.40 542.47

• permet d'afficher l'utilisation de chaque CPU de


manière individuelle.
39

La commande sadc
• Les données sont écrites dans des fichiers du répertoire
/var/log/sa/.
• Ces fichiers se nomment sa<dd> où <dd> correspond au
jour actuel dont la date est exprimée en fonction de deux
caractères.
• sadc est exécutée par le script sa1.
• Est invoqué par cron par le biais du fichier sysstat.
• Le script sa1 invoque sadc pour un seul intervalle
d'évaluation durant une seconde.
• Par défaut, cron exécute sa1 toutes les 10 minutes et
ajoute les données recueillies lors de chaque intervalle au
fichier courant nommé /var/log/sa/sa<dd>
40

La commande sar
• La commande sar crée des rapports sur
l'utilisation du système en fonction des données
recueillies par sadc.
• La commande sar est exécutée par le script sa2.
• Ce dernier est invoqué par cron par le fichier
sysstat.
41

sar -r
Linux 2.4.20-1.1931.2.231.2.10.ent (host1.example.com) 07/22/2003

12:00:01 AM kbmemfree kbmemused %memused kbmemshrd kbbuffers kbcached


12:10:00 AM 240468 1048252 81.34 0 133724 485772
12:20:00 AM 240508 1048212 81.34 0 134172 485600

08:40:00 PM 934132 354588 27.51 0 26080 185364
Average: 324346 964374 74.83 0 96072 467559
• Les champs kbmemfree et kbmemused fournissent des
statistiques typiques sur la mémoire libre et la mémoire
utilisée,
• le pourcentage de la mémoire utilisée est dans le champ
%memused.
• Les champs kbbuffers et kbcached indiquent la quantité
de kilo-octets de mémoire allouée aux tampons (ou
buffers) et au cache de données de tout le système.
42

Collectd
• Démon qui collecte à intervalles réguliers des
statistiques sur les performances d’un système
• Permet de stocker les valeurs récupérées de
plusieurs façons, par exemple des fichiers RRD.
• RRDtool est un outil de gestion de base de
données RRD (Round-Robin database).
• Utilisé par Cacti, collectd, Lighttpd, et Nagios,
pour la sauvegarde de données cycliques et le
tracé de graphiques, de données chronologiques.
43

Collectd
• wget
http://download.fedoraproject.org/pub/epel/6/
x86_64/epel-release-6-8.noarch.rpm
• rpm -ivh epel-release-6-8.noarch.rpm
• yum install -y collectd collectd-rrdtool rrdtool
collectd-web httpd
• Configurer BaseDiR à /var/lib/collectd dans
/etc/collectd.conf
44

Collectd
• configurer le rrdtool Plugin dans /etc/collectd.conf
et DataDir à /var/lib/collectd/rrd

• rsync -arv /usr/share/collectd/collection3/


/var/www/html
• service httpd start
• service collectd start
• browse to to the local host:
http://127.0.0.1/collectd/
45

hdparm
• utilitaire pour obtenir ou positionner les paramètres de
disque dur
• En mode CLI ou par le fichier /etc/hdparm.conf
• Options :
• -a
▫ Obtenir ou paramétrer le nombre de secteurs lisibles pour
le système de fichiers par tête de lecture
• -A
▫ Activer ou non les fonctionnalités du lecteur IDE. Par
défaut, activé.
• Usage :
• -A0 : désactive
• -A1 : active
46

hdparm
• -b
▫ Obtenir ou paramétrer l'état du bus
• -B
▫ Paramétrer les fonctions d'APM, si le lecteur le
supporte.
• Usage :
▫ Une valeur basse sera agressive au niveau de la gestion
▫ Une valeur haute donnera les meilleures performances
▫ Une valeur égale à 255 désactivera l'apm sur le disque.
47

hdparm
• -c : Activer et/ou interroger le support IO 32 bits
(E)IDE.
• -C : Interroge l'état du mode du périphérique
courant.
• -d : Active ou non le drapeau pour utiliser le dma.
• -D : Active ou non la fonctionnalité de gestion de
défectuosité.
• -E : Paramètre la vitesse du lecteur cdrom
• -f : Synchronise et vide la mémoire tampon allouée
au périphérique à l'extinction.
• -g : Affiche la géométrie du disque
• -H : Lit la température de certains périphériques
48

Divers
• dmidecode : Pour avoir toutes les informations
utiles sur sa carte mère et quelques informations
diverses sur votre matériel.
• sensors-detect : Pour connaitre la vitesse et la
temperature du ventilateur,
• Smartmoontools : Pour prévenir les pannes du
disque dur
▫ Un daemon Smartd qui se charge de collecter toutes
les 30 mn les infos du disque
▫ Une commande smartctl qui permet de visualiser ou
de faire des interrogations sur l'état du DD.
49

smartmontools
• smartcl s'utilise avec la syntaxe suivante :
smartctl -option /dev/sd[a-z][1...]
pour les DD sata ou /dev/hd[a-t][1..]
pour les DD ide
• pour visualiser toutes les informations faites
simplement option = -a ou -all :
smartctl -a /dev/sda
• L'option -t lance des tests court ou long
smartctl -t long /dev/sda
• L'option -l liste des résultats suite à ces tests
smartctl -l selftest /dev/sda

Vous aimerez peut-être aussi