Výsledky benchmarku na SSD - TPC-H

Podíváme-li se na srovnání SSD s tradičním pevným diskem v TPC-H části benchmarku, zjistíme že zvýšení výkonnosti je ještě menší než u read-write pgbench zátěže. Například při srovnání m-time (tj. času spotřebovaného pro vyhodnocení stejně naplánovaných dotazů, podrobněji je definováno v článku o výsledcích TPC-H benchmarku na standardním disku) vypadá na SSD s XFS situace takto

výkon XFS (m-time) se SSD diskem

zatímco na standardním rotačním pevném disku takto

výkon XFS (m-time) s tradičním diskem

tj. SSD disk je jen zhruba 1,5x rychlejší než tradiční rotační disk (což je výrazně horší výsledek než u read-only/read-write pgbenche kde byl nárůst 25x/13x). I pro SSD disk nicméně platí pravidlo že nejlepšího výkonu je dosahováno pro velké databázové bloky a velikost bloků souborového systému nehraje příliš zásadní roli.

Výsledky benchmarku / HDD + TPC-H

Minulý týden jsem stručně analyzoval read-only a read-write OLTP část benchmarku, nyní tedy tak přichází na řadu část benchmarku věnovaná DWH/DSS zátěži, založená na TPC-H benchmarku. Nebudu vás napínat, výsledky pro jednotlivé velikosti bloků jsou takovéto

m-score přes všechny souborové systémy

Podrobný popis definice a výpočtu m-score najdete v textu, pro tuto chvíli stačí vědět že vyšší hodnoty znamenají vyšší výkon. Z obrázku je jasně patrné že čím větší bloky (souborového systému i databáze), tím vyšší výkon při vyhodnocování dotazů.

Platí to ale i pro další činnosti obvyklé v DWH aplikacích, tj. load dat, vytváření indexů a cizích klíčů, sběr statistik apod.? A platí to pro všechny souborové systémy nebo existují výjimky?

DSS (TPC-H-like) benchmark s PostgreSQL

Pokud benchmarkujete PostgreSQL Databázi, je většinou první volba pgbench. Ale výchozí pgbench transakce jsou spíše OLTP typu (ačkoliv se jedná o TCP-B stress test) což není příliš použitelné pokud potřebuje otestovat DSS/DWH zátěž. Nedávno jsem něco takového potřeboval a s dostupnými nástroji jsem nebyl příliš spokojený. Naštěstí, přímo TPC Council poskytuje DBGEN, nástroj který umožňuje jednoduše vygenerovat data a skripty - a není příliš obtížné jej zprovoznit s PostgreSQL. Tak se podívejme jak na to ...

1