Linux E X P R E S

Facebook

LinuxDays 2015, výkon PostgreSQL na různých souborových systémech

linuxdays_2014.png

O víkendu se v Praze konal letošní ročník konference LinuxDays. Nyní se můžeme ohlédnout za tím, jaký byl, a podívat se rovnou i na jednu ze zajímavých přednášek.


Jaký byl letošní ročník LinuxDays?

Během posledního víkendu, tedy 10. a 11. října, se na Fakultě informačních technologií ČVUT v Praze uskutečnil další ročník tradiční konference LinuxDays. Byli jsme u toho a proto vám postupně přineseme několik článků na některá ze zajímavých témat, která se na konferenci objevila. Nejprve ale ke konferenci obecně – jaká byla?

Účastníci konference LinuxDays Účastníci konference LinuxDays

Po organizační stránce to dopadlo prakticky na výbornou, klaplo skoro všechno – jedinou drobností byla zpožděná dostupnost jmenovek pro účastníky, která byla způsobena technickým problémem a krátce po začátku sobotního programu již jmenovky k dispozici byly.

Na přípravě konference přiložilo ruku k dílu přibližně sto lidí a bylo to opravdu znát, konference běžela hladce i přes to, že kromě čtyř proudů přednášek probíhaly různé workshopy, byla k dispozici „otevřená místnost“ (pro vlastní přednášky mimo hlavní program), stánky a v neposlední řadě i občerstvení (výbornou kávu z Kofárny zajistilo sdružení CZ.NIC, o zákusky se postarala firma Active 24). Nechyběly ani ceny pro vylosované účastníky, kteří vyplnili anketu.

Šťastný výherce přebírá velkého Tuxe Šťastný výherce přebírá velkého Tuxe

Kvalitní servis byl připraven i pro ty, kdo se nemohli na konferenci vydat osobně. Početný tým z AVC Silicon Hill se staral o streaming v rozlišení 4K a o následné zpracování záznamů. V některých sálech se jako již tradičně promítala twitterová zeď s hashtagem #LinuxDays, bylo tedy postaráno i o hromadnou komunikaci směrem k účastníkům konference (nebo mezi nimi).

Účast na konferenci byla opět vyšší než dříve – zaregistrovalo se více než 1 150 zájemců, reálná účast pak byla 790 lidí v sobotu a přes 400 lidí v neděli. Na některých přednáškách a workshopech byl zájem takový, že se všichni do místnosti nevešli.

Stánky na konferenci LinuxDays (© Internet Info) Stánky na konferenci LinuxDays

Celkově lze konferenci hodnotit jako velmi povedenou. Na výsledném dojmu se samozřejmě výrazně podílelo i to hlavní, co konferenci tvoří, tedy programová náplň. Podívejme se tedy teď na jednu ze sobotních přednášek.



Má souborový systém vliv na výkon PostgreSQL?

Existuje mnoho souborových systémů a leckdo si před instalací databázového systému PostgreSQL klade otázky: Jaký souborový systém mám pro databázi připravit? Nebo je to jedno? Tomáš Vondra ve své přednášce prezentoval výsledky svého úsilí najít na tyto otázky odpovědi.

V Linuxu se nejčastěji používají souborové systémy Ext3 a Ext4 (vzniklé dlouhou evolucí od 90. let 20. století), dále například XFS (rovněž s dlouhou historií, původně ze systému Irix) a nově systémy ZFS (původně vzniklý pro systém Solaris) a Btrfs (linuxový, ale ještě poměrně čerstvý systém).

Testy probíhaly na úložišti typu SSD. „Dnes kdo nepoužívá SSD storage pro databáze, u kterých záleží na výkonu, dělá chybu. Flashová storage je v poměru cena/výkon značně výhodnější,“ připomněl Tomáš Vondra. V souvislosti s těmito úložišti je ale třeba mít na paměti jejich specifické aspekty, například vliv TRIM nebo zarovnání bloků.

Tomáš Vondra při přednášce o výkonu PostgreSQL na různých souborových systémech Tomáš Vondra při přednášce o výkonu PostgreSQL na různých souborových systémech

Benchmarky a jejich výsledky

Měření probíhala na transakčních benchmarcích pgbench (TPC-B), a to jen čtení i čtení/zápis, vždy pro malá (200 MB), střední (50 % RAM) a velká data (200 % RAM).  Výsledky ukázaly, že pro malá data při čtení prakticky není rozdíl mezi souborovými systémy, což je logické, protože se data získávají z cache. Zajímavější to je až při velkých datech, tam z hlediska počtu transakcí dopadly nejlépe systémy Ext4 a XFS, kdežto systémy ZFS a Btrfs byly výrazně pomalejší.

U jednotlivých souborových systémů hodně záleží také na jejich nastavení. Například Btrfs lze podstatně (až dvojnásobně) urychlit vypnutím copy-on-write, u ZFS se vyplatí nastavit velikost záznamu na 8 KB, všude pomůže zakázat zápisové bariéry (což ale zvyšuje riziko poškození dat) atd.

Kromě prostého počtu transakcí, které lze na určitém souborovém systému provést za časovou jednotku, se vyplatí sledovat i variabilitu této hodnoty. Zde byla situace podobná, nejlépe (s nejmenší variabilitou) si vedly systémy XFS a Ext4. Velký problém se objevil u Btrfs, kde docházelo k dlouhým prodlevám, během nichž se transakce neprováděly vůbec.

Ext4 a XFS nabízejí nejvíc, Btrfs není vhodný pro produkční nasazení

O vítězích je celkem jasno – nejlépe se pro PostgreSQL hodí souborové systémy Ext4 a XFS, které nabízejí oba srovnatelný, nejlepší výkon. ZFS má sice výkon nižší, ale je to vyzrálý systém a neprojevily se u něj žádné „excesy“. Ty se naopak objevily u Btrfs, který se chová nestabilně a nekonzistentně, přestože je tvůrci již dnes označován za „production ready“ (současně ale titíž lidé přiznávají, že se zatím vůbec nevěnovali optimalizaci výkonu).

Tomáš Vondra se na současný stav Btrfs dívá sice kriticky, ale s nadějí: „Všechny problémy, které jsem během bechmarkování měl, byly s Btrfs. (…) Musím ale říct, že komunita okolo Btrfs se k tomu staví vstřícně, není to něco ve smyslu 'to není chyba'. Zatím to ale není něco, co bych použil na produkční systém.“

Diskuze (1) Nahoru