Supervision et tendances



Documents pareils
Système de Gestion de Fichiers

Mise en oeuvre TSM 6.1

Audit activité base Oracle / SAP

Tests de performance du matériel

Cours de Système : Gestion de Fichiers

Comment tester la vitesse d un réseau Ethernet

Session 8: Android File System

Manuel de System Monitor

Installation et utilisation de Cobian Backup 8

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Programmation impérative

Principe. Technologies utilisées. 1. Linux et LVM. Les snapshots (instantannés) sous Linux et FreeBSD. Présentation de LVM. Organisation de LVM

Unix/Linux I. 1 ere année DUT. Université marne la vallée

FANTEC DB-229US Manuel de l'utilisateur

Hyper V. Installation et configuration d une machine virtuelle. Joryck LEYES

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Administration de Parc Informatique TP07 : Installation de Linux Debian

Guide informatique AUDIT EVALUATION DE LA PRATIQUE DE L ANTIBIOPROPHYLAXIE EN MATERNITE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours de Systèmes d Exploitation

PROCÉDURE D'INSTALLATION WINDOWS 7 (32 ou 64 bit)

Séquencer une application

Cours Informatique 1. Monsieur SADOUNI Salheddine

Créer un sondage sous Magento

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

La replication dans PostgreSQL

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

4D v11 SQL Release 5 (11.5) ADDENDUM

Optimisations des SGBDR. Étude de cas : MySQL

Architectures d implémentation de Click&DECiDE NSI

Adobe Premiere Pro Exportation

Créer le schéma relationnel d une base de données ACCESS

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

NOTICE D INSTALLATION ET D UTILISATION DE LIVE BACKUP

Extrait de Plan de Continuation d'activité Octopuce

Utilisation de l outil lié à MBKSTR 9

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

FANTEC HDD-Sneaker MANUEL D'UTILISATION. Comprend: Guide d'installation de materiel Disque dur Formatage manuel PCClone EX Guide d'installation

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Manuel BlueFolder ADMINISTRATION

Oracle Maximum Availability Architecture

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Création de maquette web

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

AbaWebFiduciaire Software issu du Cloud. Votre partenaire pour

Logical Volume Manager (LVM)

PUBLIPOSTAGE DANS WRITER

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

CONFIGURATION DE L AUTOMATE SIEMENS

Acquisition des données

Le système de gestion des fichiers, les entrées/sorties.

Région wallonne Commissariat wallon

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Analyse de performance, monitoring

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

2011 Hakim Benameurlaine 1

et de suivi de la corpulence des enfants

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

Manuel d utilisation de ndv 4

Gestion de parc Windows depuis Unix. Pascal Cabaud & Laurent Joly

Manuel de l utilisateur de HP Array Configuration Utility

Implémentation des SGBD

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Le data center moderne virtualisé

WHS FutureStation Nano Extras\Options: Général

UBUNTU Administration d'un système Linux (4ième édition)

Ajouter un cache SSD à son ordinateur

Un logiciel pour aller plus loin dans la gestion de vos espaces. Mémo technique

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Guide Utilisateur Transnet

TP : Gestion d une image au format PGM

1. Installation de COMPTINE

LINUX - ADMINISTRATION PROGRAMME DE FORMATION

Fax Server. Blue Line IP ISDN ISDN PRI

Gestion des sauvegardes

Présentation Utilisation. VirtualBox. Firas Kraïem. 22 février 2014

Virtualisation des ressources serveur. Exemple : Systèmes partitionnés sous HP-UX et Oracle

Antidote et vos logiciels

1. Insérez le DVD de support dans le lecteur optique. L onglet Drivers (Pilotes) apparaîtra si l Exécution automatique est activée.

LIVRE BLANC PRODUIT. Evidian SafeKit. Logiciel de haute disponibilité pour le clustering d application

SAUVEGARDER SES DONNEES PERSONNELLES

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Sommaire. Systèmes d Exploitation Intégration Sage 100 Sage CRM Disponibilité Client Bases de données... 3

Sauvegarde et restauration d'un système d'exploitation Clonezilla

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Personnes ressources Tice. Académie de Rouen

Chapitre I Notions de base et outils de travail

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Concepts et systèmes de stockage

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Utiliser le service de messagerie électronique de Google : gmail (1)

Transcription:

12 Supervision et tendances Les performances de votre serveur de bases de données sont directement liées au bon fonctionnement du système d exploitation, et les performances de ce dernier sont liées directement au matériel utilisé. Pour que toutes ces pièces fonctionnent de concert, vous avez besoin d un bon outil de supervision. Une fois que vous arrivez à récupérer toutes les données importantes, un outil de graphes est essentiel pour visualiser et analyser les tendances générales de votre serveur. Ce type d outils peut vous aider à prévoir le moment où votre système va atteindre ses limites. Il peut aussi vous aider à détecter si les modifications ont été suivies d effet. Outils de supervision Unix Les outils de base pour la supervision sur Unix sont simples à utiliser et il est facile de montrer des exemples de bons et de mauvais comportements. C est la meilleure façon pour apprendre l intérêt de ces outils dans la supervision. Notez que les concepts dégagés ici et les exemples sont intéressants, y compris sur un système Windows. Le matériel, la façon dont les systèmes d exploitation fonctionnent et les concepts sur les performances ne sont pas différents. Plus loin dans ce chapitre se trouve un tableau de correspondance de terminologie entre les systèmes Unix et Windows.

334 Bases de données PostgreSQL Configuration d exemple Le serveur utilisé ici est le même que celui décrit au chapitre sur pgbench. Pour ces exemples, une petite base pgbench a été créée avec une échelle de 100 (ce qui tient facilement en mémoire), et le test mixte standard a été exécuté : $ pgbench -i -s 100 pgbench $ pgbench -j 4 -c 8 -T 300 pgbench Le test donne approximativement 2 000 transactions/s. Des tests plus longs avec un TPS 1 plus bas seront aussi discutés dans le reste de ce chapitre. INFO L option -j n est disponible qu à partir de la version 9.0. Donc, si vous utilisez une version antérieure à la 9.0, oubliez la partie -j 4 pour la commande ci-dessus et les prochaines commandes. Les versions antérieures à la 8.4 ne gèrent pas non plus l option -T. Vous devrez passer par l option -t en lui précisant un argument suffisamment important pour que le test dure assez longtemps. Le serveur de tests a quelques spécificités au niveau des points de montage : pg_xlog se trouve sur /dev/sdf1 ; le répertoire des données se trouve sur /dev/md0 (un RAID 0 logiciel sous Linux ; les disques physiques sont sdc1, sdd1 et sde1). Il est important de connaître ces détails pour suivre les exemples iostat de ce chapitre. vmstat Si vous posez une question sur la liste de discussion pgsql-performance montrant que votre système pourrait être surchargé, le premier complément d informations qui vous sera demandé est de récupérer la sortie de la commande vmstat. Cette commande fournit la vue condensée la plus intéressante sur l activité du système. Comme en plus, il affiche toutes les informations sur une seule ligne, il est même possible de dégager une tendance à court terme en analysant un écran entier de lignes provenant de vmstat. Comme une ligne de vmstat est trop large pour tenir sur une page, nous allons découper chaque ligne en deux parties pour l instant. Par la suite, les exemples ne contiendront que les colonnes intéressantes. 1. Nombre de transactions par seconde.

Chapitre 12 Supervision et tendances 335 Voici la partie gauche du résultat de l exécution de vmstat alors qu un test avec pgbench est en cours, ce test ne consommant pas beaucoup de mémoire : $ vmstat 1 procs -----------memory------------- ---swap-- r b swpd free buff cache si so 8 0 0 2542248 386604 3999148 0 0 3 0 0 2517448 386668 4023252 0 0 1 0 0 2494880 386732 4043064 0 0 7 1 0 2476404 386792 4060776 0 0 La signification des colonnes est donnée dans le manuel de vmstat : r. Nombre de processus en attente de temps processeur. b. Nombre de processus en veille non interruptible. swpd. Mémoire virtuelle utilisée. free. Mémoire inutilisée. buff. Mémoire utilisée pour les tampons. cache. Mémoire utilisée pour le cache disque. si. Nombre de lectures du swap sur disque par seconde. so. Nombre d écritures du swap sur disque par seconde. Vous verrez plus tard quelques exemples sur l interprétation des données de la partie procs et sur le comportement du système quand la mémoire disponible devient très petite. Ce qui n est pas montré ici, c est le comportement du système lorsqu il utilise du swap. Sur un serveur de bases de données, l utilisation du swap indique que la configuration mémoire de PostgreSQL est mauvaise. Il faut à tout prix réduire l utilisation de la mémoire. Du coup, il est important de surveiller les valeurs des colonnes si et so car une valeur différente de 0 pour ces deux colonnes mérite une investigation plus poussée. Sur Linux, le paramètre swappiness (qui a été abordé au Chapitre 4) peut avoir un effet important sur le fonctionnement du swap. La partie la plus intéressante de la sortie de vmstat se trouve en fait dans la partie droite, que voici : $ vmstat 1 ----io---- --system--- -----cpu------ bi bo in cs us sy id wa st 24 38024 7975 73394 40 18 34 7 0 48 57652 11701 93110 43 16 34 6 0 36 75932 11936 86932 44 15 34 7 0 4 96628 12423 77317 39 17 37 6 0

336 Bases de données PostgreSQL Voici les explications du manuel de vmstat sur ces colonnes : bi. Nombre de blocs lus par seconde à partir d un périphérique bloc. bo. Nombre de blocs écrits par seconde sur un périphérique bloc. in. Nombre d interruptions par seconde, y compris celles liées à l horloge. cs. Nombre de changements de contexte par seconde. us. Temps CPU passé sur du code en espace utilisateur. sy. Temps CPU passé sur du code en espace noyau. id. Temps CPU passé à ne rien faire (idle). wa. Temps CPU passé à attendre une entrée/sortie. st. Temps CPU récupéré par une machine virtuelle. Tous les temps CPU sont donnés en pourcentage. Par défaut, la version Linux de vmstat testée ici utilise des blocs de 1 024 octets, ce qui signifie que les nombres affichés sont exprimés en kilo-octets par seconde. Du coup, la première valeur de la colonne bo, 38024, signifie que le débit d écriture était de 38 Mo/s sur cette période. La taille d un bloc pouvant varier suivant le système d exploitation utilisé, il est donc important de lire la section iostat pour obtenir plus d informations sur les tailles de blocs. Tous les exemples utilisant vmstat proposés ici collectent les données à un intervalle d une seconde (cela correspond au seul paramètre de la commande vmstat ci-dessus). Quelle que soit l intervalle utilisée, les statistiques fournies par vmstat sont des moyennes par seconde sur la période donnée. L interprétation en soi ne dépend pas de la période, cela ne fait que modifier la précision des données collectées. Un autre point à noter concerne la signification de la première ligne. Cette ligne représente le cumul de ces statistiques depuis son démarrage. La seconde ligne affiche en revanche les statistiques de l activité réalisée pendant la période indiquée en argument. Ainsi, si vous écrivez des scripts pour récupérer ces données et les traiter, il faut bien faire attention à ignorer la première ligne. Voici ce que donne vmstat sur une période de temps où pgbench était en cours d exécution et où le système est devenu moins réactif pendant deux secondes : procs ----io---- --system--- -----cpu------ r b bi bo in cs us sy id wa st 2 2 4 93448 11747 84051 44 19 32 5 0 0 3 0 54156 8888 47518 23 10 53 14 0 0 2 0 6944 1259 1322 1 0 72 27 0 0 2 0 12168 2025 2422 0 0 65 35 0 8 0 0 26916 5090 41152 23 9 47 21 0 2 0 4 57960 9802 54723 31 12 46 11 0

Chapitre 12 Supervision et tendances 337 Notez la chute dramatique du nombre de changements de contexte (colonne cs) pour les deux lignes du milieu. Comme la charge générée par pgbench implique des changements de contexte, ces valeurs très basses représentent en fait une période pendant laquelle il ne se passe rien. Notez également que cette période correspond aussi à une hausse importante des attentes d entrées/sorties (colonne wa) et que les processeurs deviennent moins actifs. Ce comportement est significatif de problèmes de performances, c est-à-dire lorsque les disques sont le point de contention principal du système. iostat Les données fournies par vmstat correspondent à un cumul pour tous les disques du système. Si vous voulez obtenir des informations détaillées pour chaque unité de disque, vous avez besoin de iostat. Sur Linux, iostat n a pas la même définition du bloc que vmstat. Pour iostat, un bloc représente 512 octets, et non pas 1 024. Cependant, il est possible de demander à iostat d afficher des valeurs en kilo-octets grâce à l option -k. Si vous ne le faites pas, il faudra prendre l habitude de diviser par 2 les valeurs fournies par iostat pour avoir des kilo-octets. Voici un exemple de la sortie de iostat : $ iostat Device tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda1 0.07 3.29 0.24 1579784 115560 $ iostat -k Device tps kb_read/s kb_wrtn/s kb_read kb_wrtn sda1 0.07 1.64 0.12 789892 57780 Comme toutes les versions d Unix ne supportent pas l option -k avec iostat, les exemples montrés ici utilisent le bloc à 512 octets. Il faut donc diviser par deux les nombres affichés pour avoir l équivalent en kilo-octets. Il est généralement nécessaire de calculer la moyenne des données d iostat sur une période un peu plus longue que vmstat. Une période d une seconde pour vmstat vous donne un résumé de tous les disques du système. Une base de données PostgreSQL passe par différentes phases : 1. Tout de suite après un checkpoint : grosses écritures de blocs complets dans les journaux de transactions, un peu moins d écritures sur les fichiers de données car il y a moins d éviction de blocs modifiés dans le cache. 2. Entre les checkpoints (le précédent est terminé et la plupart des blocs utilisés ont déjà été écrits complètement dans les journaux) : la plupart des écritures touchent à la fois les fichiers de données et les journaux de transactions.