performances postgresql au niveau du système .mutualisation des disques ... principalement...

Download Performances PostgreSQL au niveau du système .Mutualisation des disques ... Principalement développé

Post on 12-Sep-2018

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 1

    Performances PostgreSQLau niveau du systme

  • 2

    Introduction L'optimisation n'est pas un processus unique

    Processus itratif Va de pair avec la supervision

  • 3

    Niveaux d'optimisation Systme hte, niveau matriel Configuration de PostgreSQL Rpartition des donnes Application, modlisation et requtes

  • 4

    Matriel Processeur Mmoire Disques Systme disque

  • 5

    CPU Principaux critres

    Nombre de curs Frquence Taille du cache

    32/64 bits

  • 6

    Choisir le CPU PostgreSQL n'est pas multithread

    Connatre le type d'application Privilgier

    le nombre de curs (type appli web) La frquence (type DW)

  • 7

    RAM Essentiel pour les performances De moins en moins cher Plus il y en a, mieux c'est

  • 8

    Disques 3 technologies : SATA,SAS et SSD Temps d'accs / dbit Tester les disques

  • 9

    RAID Tolrance la panne, performances viter le RAID 5 Privilgier RAID 1 / RAID 10 Attention la qualit de la carte

  • 10

    RAID - cache Toujours activer le cache en lecture Cache en criture

    Protg par une batterie Vrifier l'tat de la batterie

  • 11

    Virtualisation Non recommand

    Mutualisation des disques Masque les ressources Overcommit Gestion des vCPU multiples

  • 12

    Systme d'exploitation Quel systme choisir ? Quelle configuration ?

  • 13

    Choix du systme PostgreSQL fonctionne sur de nombreux OS Principalement dvelopp et test sous linux Windows intressant pour les dveloppeurs

  • 14

    Noyau Choisir le noyau le plus rcent

    Plus stable Plus de compatibilit Plus de fonctionnalit Meilleures performances

    Ne pas compiler son noyau

  • 15

    Configuration du noyau Mmoire partage Overcommit Swap Affinit curs / espaces mmoire Configuration dans /etc/sysctl.conf Activer avec sysctl -p

  • 16

    Mmoire partage SHMMAX SHMALL Valeur basse par dfaut pour Debian

  • 17

    Cache disque Gestion des dirty pages

    vm.dirty_ratio vm.dirty_background_ratio

    vm.dirty_bytes vm.dirty_background_bytes

    Configurer pour avoir qq centaines de Mo synchroniser

  • 18

    Swap Contre performant pour un SGBD

    Pas plus de 2 Go de swap Paramtre swappiness

    60 par dfaut Descendre 5 ou 10

  • 19

    Overcommit Pas d'overcommit sur PostGreSQL

    vm.overcommit_memory =2 pour le dsactiver

    vm.overcommit_ratio Spcifie l'espace mmoire allouable: overcommit_ratio pourcent de la RAM + SWAP Pour pouvoir allouer uniquement la RAM disponible: overcommit_ratio = (RAM SWAP) * 100 / RAM

  • 20

    Afinit processeur / mmoire Architecture NUMA (multi-sockets) Contre productif avec PostgreSQL vm.zone_reclaim_mode = 0 pour le dsactiver

  • 21

    Systme de fichier Windows

    NTFS Linux

    ext3, ext4, xfs ... Solaris

    ZFS

  • 22

    Configuration FS noatime nodiratime dir_index

  • 23

    Configuration PostgreSQL Mmoire Planificateur WAL Statistiques Fichiers

  • 24

    Configuration - mmoire shared_buffers wal_buffers work_mem / maintenance_work_mem

  • 25

    Configuration - planificateur random_page_cost

    4 par dfaut, bonne valeur pour disques lents RAID 5 Disques SATA

    2,5 3 pour du RAID 10 1 pour du SSD ou RAM >= taille base

    effective_cache_size

  • 26

    Configuration - WAL fsync: assure la scurit checkpoint_segments checkpoint_timeout checkpoint_completion_target

  • 27

    Configuration statistiques track_activities track_count autovacuum

  • 28

    Configuration fichiers WAL Placer les journaux sur un autre disque Option -X de l'outil initdb Lien symbolique

  • 29

    Configuration - fichiers Sparer les objets suivant leur utilisation Tablespaces

    Sparer tables et index Sparer archives et donnes vivantes Paramtrage au tablespace

    ALTER TABLESPACE nom SET (random_page_cost TO X);

  • 30

    Questions ? N'hsitez pas, c'est le moment

    Diapo 1Diapo 2Diapo 3Diapo 4Diapo 5Diapo 6Diapo 7Diapo 8Diapo 9Diapo 10Diapo 11Diapo 12Diapo 13Diapo 14Diapo 15Diapo 16Diapo 17Diapo 18Diapo 19Diapo 20Diapo 21Diapo 22Diapo 23Diapo 24Diapo 25Diapo 26Diapo 27Diapo 28Diapo 29Diapo 30