postgresql on power - ibm · 2016-10-07 · credativ 2016 postgresql on power foss spezialisten...
TRANSCRIPT
www.credativ.comcredativ 2016
PostgreSQL on Power
PostgreSQL Power on Power
BerndHelmle
-Julian
Schauder
www.credativ.comcredativ 2016
PostgreSQL on Power
Julian
Schauder
• PostgreSQL seit 2012
• credativ seit 2014
• Performance
• High Availability
• Healthchecks
www.credativ.comcredativ 2016
PostgreSQL on Power
FOSS Spezialisten
Kompletter Stack
Supported
Alle großenOpen Source
Projekte
• Über 60 Mitarbeiter• Europa, Nord Amerika, Asien• Open Source Software Support und Services
• Support: break/fix, advanced administration, monitoring
• Beratung: migration, implementation, integration, upgrade, performance, high availability, virtualisierung
• Entwicklung: enhancement, bug-fix, backport, packaging
● Operating, Hosting, Training
www.credativ.comcredativ 2016
PostgreSQL on Power
Fallstudie
-
ÜbersichtJab9rm@Wikimedia Commons
Tlockman@Wikimedia Commons
www.credativ.comcredativ 2016
PostgreSQL on Power
Fallstudie
-
Historisches
●Direktvertrieb seit der frühen 90er
●Frühe Adaptiopn von eCommerce
●Historisch gewachsene IT Infrastruktur
●Erfolgsgeschichte für PostgreSQL
www.credativ.comcredativ 2016
PostgreSQL on Power
Fallstudie
-
IT
●IBM POWER seit POWER5
●AIX und Linux OS platform
●Zentralisierte Serverinfrastruktur
● Begann mit SLES10, wechselte aber wegen Support zu RHEL
www.credativ.comcredativ 2016
PostgreSQL on Power
Fallstudie
-
PostgreSQL
●Zwei IBM S824 POWER8 Maschinen 2 Sockel, 6 Kerne je SMT-8
●RHEL7 mit PostgreSQL 9.4, Inventar- und Logistikinstanzen haben dedizierte LPARs
●Maschinen nicht colocated
●Gewisse Transaktionen benötigen garantierte Responsezeiten (+- <n> ms)
●Businesslogik in der Datenbank (Stored Procedures)
www.credativ.comcredativ 2016
PostgreSQL on Power
Aufgaben●Corosync & Pacemaker ports aus CentOS 7
●Eigene builds wegen SBD fencing
●PostgreSQL-Pakete der PGDGoptflags: ppc64 %{__global_cflags} -m64 -mcpu=power8 -mtune=power8
./configure –without-ldap ...
Der Upstream SBD resource agent war Teil dieser Arbeit
https://github.com/ClusterLabs/fence-agents/commit/91314f33519ba5498afb2ba6da9eca30381b263e
www.credativ.comcredativ 2016
PostgreSQL on Power
Pakete
Bauen
Infrastruktur
Buildinfrastruktur mit Jenkins
www.credativ.comcredativ 2016
PostgreSQL on Power
Performance
Setup
●Aktuell 48 logische CPUs (hardware threads) für die Logistikinstanz
●Wir nutzen huge pages
●Mit tuned konfigurierten wir viele wichtige Systemeinstellungen
hugepages=<n> Kernel Bootparameter, keine transparenten huge pagesStress tests zeigten 10% mehr Throughput (pgbench)
www.credativ.comcredativ 2016
PostgreSQL on Power
Performance
Tuning
[main]include=throughput-performance
[vm]transparent_hugepages=never
[sysctl]kernel.sched_migration_cost_ns=5000000
Customized tuned configuration:
www.credativ.comcredativ 2016
PostgreSQL on Power
Performance
●100 GByte RAM, shared_buffers = 10G
buffer reads buffer hits
24 hrs buffer stats
www.credativ.comcredativ 2016
PostgreSQL on Power
Performance
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
●~30GB Transaktionslog/Tag
●Manuelles CLUSTER und VACUUM FULL für manche Tabellen
●Standby hinkt nachts hinterher
www.credativ.comcredativ 2016
PostgreSQL on Power
Performance
●Sehr gute Systemlast
●Sehr cachezentrisch (Latenzen!)
www.credativ.comcredativ 2016
PostgreSQL on Power
Backup
●Zurzeit nur pg_dump [~SQL-Dump]
●Dumpquelle ist dem streaming standby
●Wichtige Tabellen werden in Intervallen exportiert(aktuell alle 60 Minuten)
●Bestandstabellen hingegen nur täglich und wöchentlich
●Periodisches Archivierung der Daten
●PITR für die nächste Iteration geplant (webshop integration)