PostgreSQL na EXT3/4, XFS, BTRFS a ZFS



Podobné dokumenty
PostgreSQL na EXT3/4, XFS, BTRFS a ZFS

Výkonnostní archeologie

SSD vs. HDD / WAL, indexy a fsync

SSD v serveru. Pavel Šnajdr InstallFest 2015

MODERNÍ SOUBOROVÉ SYSTÉMY - ZFS. Richard Janča

Storage... co je nového (SSD!)... a co se zatím nepovedlo rozbít:-)

Správa disků (storage) v Linuxu. Milan Brož Software Engineer / Kernel Storage / Red Hat mbroz@redhat.com

Copyright 2012 EMC Corporation. All rights reserved.

Příloha č.2 - Technická specifikace předmětu veřejné zakázky

SERVERY A STORAGE ABACUS Jan Petrák jp@abacus.cz

Bi-Direction Replication

OS Správa souborů. Tomáš Hudec.

Zřízení technologického centra ORP Dobruška

DataDomain pod drobnohledem

vpsfree.cz: linuxový server u neziskovky

Praha, Martin Beran

NMS. Linux na Strahově. Radim Roška & Moris Bangoura InstallFest Silicon Hill

Přednáška. Úložiště dat: HDD, SDD, RAID, DAS, NAS, SAN. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

ReDefine Midrange Storage VNX/VNXe. Václav Šindelář, EMC

Uchovávání dat v SSD

2.1 Obecné parametry Obecné parametry Rack serveru

» STORAGE A SERVERY ABACUS Jan Petrák jp@abacus.cz

FLASH NOVÉ HRANICE DOSAŽITELNÉHO

Nimbus Data All Flash Systems

Zálohovací zařízení pro repozitář jazykových dat a digitálního materiálu pro jazykový výzkum

Red Hat Enterprise Virtualization

Základy informatiky. Operační systémy

SWI 075 Linux Kernel. Úvod

CHARAKTERISTIKY MODELŮ PC

Administrace Unixu a sítí

Když konvenční disky nestačí tempu vašich aplikací

Využití opensource při stavbě infrastrukturního cloudu Martin Kopta

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům

Najde si Software Defined Storage své místo na trhu?

FRED & PostgreSQL. CZ.NIC, z.s.p.o. Jaromír Talíř <jaromir.talir@nic.cz>

Specifikace předmětu veřejné zakázky

Novinky v diskových polích EMC & Flash technologie v produktech EMC

Struktura pamětí a procesů v DB Oracle. Radek Strnad

Softwarově definované úložiště pod taktovkou EMC Lukáš Bělovský, konzultant Gapp System

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro

Storage product guide Q4/2011

Technická specifikace ČÁST 1. Místo plnění: PČR Kriminalistický ústav Praha, Bartolomějská 10, Praha 1

RAID, LVM a souborové systémy

Linux RAID, LVM. 27. listopadu Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Název školy: Základní škola a Mateřská škola Žalany

Hyperkonvergovaná řešení jako základní stavební blok moderního IT

BigData. Marek Sušický

Snížení TCO IT infrastruktury. Petr Havlík. 2. února 2011

Moderní souborové systémy. Ondřej Vondrouš

Operační systémy 1. Přednáška číslo Souborové systémy

FIREBIRD relační databázový systém. Tomáš Svoboda

LVM2 logical volume management

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor

Softwarové PLC Deterministické řízení v reálném čase Optimalizované z hlediska zátěže PC. Spolehlivé softwarové PLC

Mini PC HAL3000 NUC Passive Kč s DPH

MARIE PACS S PACSem hezky od podlahy když se data sypou!

Specifikace předmětu veřejné zakázky

Bloková zařízení v LINUXu Jan Vrbata - GOPAS

Databázové systémy úvod

JFS MODERNÍ SOUBOROVÉ SYSTÉMY

Systémy souborů (File Systems)

FUJITSU PRIMEFLEX. Human Centric Innovation in Action. Integrované systémy pro Vaše řešení. 30. května 2017 Pavel Čáslavský. 0 Copyright 2017 FUJITSU

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Operační systém GNU/Linux

HW počítače co se nalézá uvnitř počítačové skříně

Administrace OS Unix. filesystém UFS mount snapshot RAID

vpsfree.cz: komunitní platforma pro virtuální servery

Úvod do OpenWRT. Ondřej Caletka. 1. března Uvedené dílo podléhá licenci Creative Commons Uveďte autora 3.0 Česko.

ISPforum 2016 Jezerka NAT++

Příloha č. 2A Zadávací dokumentace k Veřejné zakázce Dodávka technologického řešení pro Geoportál

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

Forenzní analytická jednotka - technická specifikace (9 ks)

Pokročilé architektury počítačů

Průzkum před testováním použitelnosti

IW3 MS SQL SERVER 2014

Souborové systémy Mgr. Josef Horálek

whoami Hosting VPS na neziskovém principu Kdo neznáte nebo chcete vědět víc stánek

INDUSTRIAL VYSOCE VÝKONNÉ PRŮMYSLOVÉ POČÍTAČE. Intel Core i7 s frekvencí až 3.7 GHz SSD - RAID. 16 GB DDRIII 1600 MHz.

RHEV for Desktops & SPICE příklad nasazení v akademickém prostředí. Milan Zelenka, RHCE Enlogit s.r.o.

HP Compaq Pro 6300 SFF

Virtualizace koncových stanic Položka Požadováno Nabídka, konkrétní hodnota

SMB a Enterprise řešení

Vlastnosti Xen na univerzitě. Michal Švamberg

Databáze s tisíci uložených procedur. Pavel Bláhovec, DiS pavel@blahovec.cz

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Projekt 7006/2014 SDAT - Sběr dat pro potřeby ČNB. Návrh realizace řešení

HPC Users' Access Workshop: nový superpočítač Salomon

Produkty AerPOS

Výzva k podání nabídky v zadávacím řízení k veřejné zakázce malého rozsahu na dodávku s názvem Výměna vybavení počítačové učebny

Monitoring výkonu PostgreSQL

Tabulka splnění technických požadavků

Implementace souborového systému

HW Diskové pole - 1KS

Město Varnsdorf, nám. E. Beneše 470, Varnsdorf, Česká republika SPECIFIKACE

Výzva k podání nabídky a zadávací dokumentace

Základní pojmy informačních technologií

Efektivní využití SSD v produktech Dell: SSD za cenu HDD. Ondřej Bajer Storage Systems Engineer

IBM Connections pro firmy s Lotus Notes/Domino. Petr Kunc

C2110 Operační systém UNIX a základy programování

Transkript:

LinuxDays 10. 10. 2015 PostgreSQL na EXT3/4, XFS, BTRFS a ZFS srovnání (Linuxových) souborových systémů Tomáš Vondra <tomas@2ndquadrant.com>

22.10. PostgreSQL Meetup @ FIT 27-30.10. pgconf.eu @ Vídeň cca půlka února P2D2 @ Praha

http://www.slideshare.net/fuzzycz/postgresql-na-ext34-xfs-btrfs-a-zfs

filesystem engineer

filesystem engineer database engineer

Který souborový systém mám použít pro produkční server na kterém poběží PostgreSQL?

Podle našich benchmarků z roku 2003 je nejlepší...

Co vlastně znamená že souborový systém je stable nebo production ready?

SSD

Souborové systémy EXT3/4, XFS, (spousta dalších) cíli vlastnostmi (features), možnostmi ladění vyzrálostí, spolehlivostí tradiční design, design víceméně z 90. let postupné zlepšování, rozumně moderní BTRFS, ZFS next-gen souborové systémy, nová architektura / design další (nezahrnuté do přednášky) log-organized, distributed, clustered,...

EXT3, EXT4, XFS,...

EXT3, EXT4, XFS EXT3 (2001) / EXT4 (2008) evoluce původního Linuxového systému (ext, ext2,...) průběžné zlepšování, opravování chyb,... XFS (2002) původně ze SGI Irix 5.3 (1994) 2000 - uvolněno pod GPL 2002 zamergováno do 2.5.36 EXT4 i XFS jsou spolehlivé souborové systémy se žurnálem prověřené časem a provozem na mnoha systémech

EXT3, EXT4, XFS tradiční design se žurnálem neřeší provoz na více fyzickýc discích logical volume managemnt snapshoty... vyžadují další komponenty hardware RAID software RAID (dm) LVM / LVM2

EXT3, EXT4, XFS počaty v dobách rotačních disků víceméně fungují se SSD stop-gap pro budoucí úložné systémy (NVRAM,...) víceméně evoluce, nikoliv revoluce doplňování vlastností (e.g. TRIM, write barriers,...) vylepšování škálování (metadata,...) opravování chyb nutná značná opatrnost kvůli zastaralým výsledkům benchmarků a povídačkám zavádějícím syntetickým benchmarkům

EXT3, EXT4, XFS Linux Filesystems: Where did they come from? (Dave Chinner @ linux.conf.au 2014) https://www.youtube.com/watch?v=smcvdzk7wv8 Ted Ts'o on the ext4 Filesystem (Ted Ts'o, NYLUG, 2013) https://www.youtube.com/watch?v=2mydfr5t4ty XFS: There and Back and There Again? (Dave Chinner @ Vault 2015) https://lwn.net/articles/638546/ XFS: Recent and Future Adventures in Filesystem Scalability (Dave Chinner, linux.conf.au 2012) https://www.youtube.com/watch?v=fegjlbcnobw XFS: the filesystem of the future? (Jonathan Corbet, Dave Chinner, LWN, 2012) http://lwn.net/articles/476263/

BTRFS, ZFS

BTRFS, ZFS základní myšlenky integrujme vrstvy (LVM + dm +...) návrh zaměřený na běžný hardware (chyby jsou běžné) návrh pro velké datové objemy, flexibilitu čímž jednodušeji získáme flexibilnější management zabudovaný snapshotting kompresi, deduplikaci checksums

BTRFS, ZFS BTRFS zamergováno 2009, ale nadále experimental on-disk format stable (1.0) někteří tvrdí že stable nebo production ready... některé distribuce ho dnes používají jako výchozí volbu ZFS původně ze Solarisu, ale got Oracled :-( dnes poněkud fragmentovaný vývoj dostupné i na dalších BSD systémech (FreeBSD) ZFS on Linux projekt (ale CDDL vs. GPL)

Možnosti ladění

Obecné možnosti TRIM (discard) zapnutí / vypnutí TRIM na SSDs ovlivňuje interní garbage collection / wear leveling není nutný, ale může pomoci SSD disku při garbage collection write barriers zabraňují disku v optimalizaci práce změnou pořadí zápisů nebrání ztrátě dat ale poškození konzistence (metadata vs. data) write cache + battery => write barriers lze vypnout SSD alignment

BTRFS nodatacow vypne copy on write (CoW) snapshoty CoW dočasně zapnou vypne checksums (vyžaduje plný CoW) ssd zapne SSD optimalizace dokumentace neříká jaké compress=lzo/zlib spekulativní komprese dat

ZFS recordsize=8kb standardní velikost stránky ZFS je 128kB PostgreSQL má datové stránky o velikosti 8kB problémy při cachování v ARC (menší počet slotů ) logbias=throughput ovlivňuje práci se ZIL (latence vs. throughput) zfs_arc_max omezení velikosti ARC cache měla by se uvolňovat automaticky, ale... primarycache=metadata zabránění double bufferingu (shared buffers vs. ARC)

ZFS recordsize=8kb standardní velikost stránky ZFS je 128kB PostgreSQL má datové stránky o velikosti 8kB problémy při cachování v ARC (menší počet slotů ) logbias=throughput ovlivňuje práci se ZIL (latence vs. throughput) zfs_arc_max omezení velikosti ARC cache měla by se uvolňovat automaticky, ale... primarycache=metadata zabránění double bufferingu (shared buffers vs. ARC)

Benchmark

Použitý systém CPU: Intel i5-2500k 4 cores @ 3.3 GHz (3.7GHz) 6MB cache 2011-2013 8GB RAM (DDR3 1333) SSD Intel S3700 100GB (SATA3) Gentoo + kernel 4.0.4 PostgreSQL 9.4

pgbench (TPC-B) transakční benchmark / stress-test malé dotazy (přístup přes PK,...) mix různých typů I/O (reads/writes, náhodný/sekvenční) varianty read-write (SELECT + INSERT + UPDATE) read-only (SELECT) objemy dat malý (~200MB) střední (~50% RAM) velký (~200% RAM)

Výsledky zatím otestováno přes 40 kombinací každý test běží ~4 dny https://bitbucket.org/tvondra/fsbench-i5

pgbench read-only

pgbench / small read-only 60000 50000 transakce za vteřinu 40000 30000 20000 10000 0 0 2 4 6 8 10 12 14 16 18 počet klientů

pgbench / large read-write 40000 35000 transakcí za vteřinu 30000 25000 20000 15000 10000 5000 0 0 2 4 6 8 10 12 14 16 18 počet klientů ZFS ZFS (recordsize=8k) BTRFS BTRFS (nodatacow) F2FS ReiserFS EXT4 EXT3 XFS

pgbench read-write

pgbench / small read-write 8000 7000 transakcí za vteřinu 6000 5000 4000 3000 2000 1000 0 0 2 4 6 8 10 12 14 16 18 počet klientů BTRFS (ssd, nobarrier) EXT3 F2FS (nobarrier, discard) XFS (nobarrier, discard) ZFS (recordsize, logbias) BTRFS (ssd, nobarrier, discard, nodatacow) EXT4 (nobarrier, discard) ReiserFS (nobarrier) ZFS

pgbench / small read-write 8000 7000 transakcí za vteřinu 6000 5000 4000 3000 2000 1000 0 0 2 4 6 8 10 12 14 16 18 počet klientů BTRFS (ssd, nobarrier, discard, nodatacow) F2FS (nobarrier, discard) ReiserFS (nobarrier) ZFS (recordsize, logbias) EXT4 (nobarrier, discard) XFS (nobarrier, discard)

pgbench / large read-write 6000 5000 transakcí za vteřinu 4000 3000 2000 1000 0 0 2 4 6 8 10 12 14 16 18 počet klientů ZFS ZFS (recordsize) F2FS (nobarrier, discard) EXT3 XFS (nobarrier, discard) BTRFS (ssd) ZFS (recordsize, logbias) BTRFS (ssd, nobarrier, discard, nodatacow) ReiserFS (nobarrier) EXT4 (nobarrier, discard)

pgbench / large read-write 6000 5000 transakcí za vteřinu 4000 3000 2000 1000 0 0 2 4 6 8 10 12 14 16 18 počet klientů ZFS (recordsize, logbias) BTRFS (ssd, nobarrier, discard, nodatacow) XFS (nobarrier, discard) F2FS (nobarrier, discard) ReiserFS (nobarrier) EXT4 (nobarrier, discard)

variabilita

pgbench po vteřinách 7000 6000 5000 počet transakcí 4000 3000 2000 1000 0 0 50 100 150 200 250 300 vteřina benchmarku btrfs (ssd, nobarrier, discard) ext4 (nobarrier, discard) zfs (recordsize, logbias) btrfs (ssd, nobarrier, discard, nodatacow) xfs (nobarrier, discard)

EXT / XFS víceméně stejné výsledky EXT4 vyšší propustnost, vyšší rozptyl latencí XFS mírně nižší propustnost, nižší rozptyl zásadní vliv write barriers nutností jsou dobré disky / RAID řadiče menší vliv TRIM záleží na typu SSD (over-provisioning) záleží na zaplnění disku

BTRFS, ZFS cena za CoW je značná cca 50% redukce výkonu (cena za funkce) ZFS trochu vetřelec ve světě Linuxu značně vyzrálejší než BTRFS, lepší chování BTRFS všechny problémy během testování byly s BTRFS značně nestabilní a nekonzistentní chování žádné data corruption bugy (good)

BTRFS, ZFS Tasks: 215 total, 2 running, 213 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 12.6%sy, 0.0%ni, 87.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 16432096k total, 16154512k used, 277584k free, 9712k buffers Swap: 2047996k total, 22228k used, 2025768k free, 15233824k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 24402 root 20 0 0 0 0 R 99.7 0.0 2:28.09 kworker/u16:2 24051 root 20 0 0 0 0 S 0.3 0.0 0:02.91 kworker/5:0 1 root 20 0 19416 608 508 S 0.0 0.0 0:01.02 init 2 root 20 0 0 0 0 S 0.0 0.0 0:09.10 kthreadd... Samples: 59K of event 'cpu clock', Event count (approx.): 10269077465 Overhead Shared Object Symbol 37.47% [kernel] [k] btrfs_bitmap_cluster 30.59% [kernel] [k] find_next_zero_bit 26.74% [kernel] [k] find_next_bit 1.59% [kernel] [k] _raw_spin_unlock_irqrestore 0.41% [kernel] [k] rb_next 0.33% [kernel] [k] tick_nohz_idle_exit...

Otázky?

pgbench / large read-write ext4 (noatime, discard, nobarrier) 6000 5000 transakcí za vteřinu 4000 3000 2000 1000 0 0 2 4 6 8 10 12 14 16 18 počet klientů cfq deadline noop

pgbench / large read-write (16 clients) rozptyl latencí 20 18 16 14 latence (ms) 12 10 8 6 4 2 0 0 50 100 150 200 250 300 vteřina cfq noop deadline