performances postgresql au niveau du syst¨me .21 overcommit pas d'overcommit sur postgresql...

Download Performances PostgreSQL au niveau du syst¨me .21 Overcommit Pas d'overcommit sur PostGreSQL vm.overcommit_memory

Post on 07-Dec-2018

216 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

1

Performances PostgreSQLau niveau du systme

2

A propos de l'auteurAuteur: Julien Rouhaudjulien.rouhaud@dalibo.comSocit: DALIBODate: Mars 2013URL: www.dalibo.org

3

Licence Create CommonsBY-NC-SA

Libres de redistribuer et/ou modifier cette cration selon les conditions suivantes :

Paternit Pas d'utilisation commerciale Partage des conditions initiales l'identique

4

Introduction L'optimisation n'est pas un processus unique

Processus itratif Va de pair avec la supervision

5

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

6

Matriel Processeur Mmoire Disques Systme disque

7

CPU Principaux critres

Nombre de curs Frquence Taille du cache

32/64 bits

8

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)

9

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

10

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

11

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

12

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

Protg par une batterie Vrifier l'tat de la batterie

13

Virtualisation Non recommand

Mutualisation des disques Masque les ressources Overcommit Gestion des vCPU multiples

14

Systme d'exploitation Quel systme choisir ? Quelle configuration ?

15

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

16

Noyau Choisir le noyau le plus rcent

Plus stable Plus de compatibilit Plus de fonctionnalit Meilleures performances

Ne pas compiler son noyau

17

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

18

Mmoire partage SHMMAX SHMALL Valeur basse par dfaut pour Debian

19

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

20

Swap Contre performant pour un SGBD

Pas plus de 2 Go de swap Paramtre swappiness

60 par dfaut Descendre 5 ou 10

21

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

22

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

23

Systme de fichier Windows

NTFS Linux

ext3, ext4, xfs ... Solaris

ZFS

24

Configuration FS noatime nodiratime dir_index

25

Configuration PostgreSQL Mmoire Planificateur WAL Statistiques Fichiers

26

Configuration - mmoire shared_buffers wal_buffers work_mem / maintenance_work_mem

27

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

28

Configuration - WAL fsync: assure la scurit checkpoint_segments checkpoint_timeout checkpoint_completion_target

29

Configuration statistiques track_activities track_count autovacuum

30

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

31

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);

32

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 30Diapo 31Diapo 32

View more