Monitoring výkonu PostgreSQL



Podobné dokumenty
Paralelní dotazy v PostgreSQL 9.6 (a 10.0)

Databázové systémy, MS Access. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1130_Databázové systémy, MS Access_PWP

INDEXY JSOU GRUNT. Pavel Stěhule

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

Čteme EXPLAIN. CSPUG, Praha. Tomáš Vondra Czech and Slovak PostgreSQL Users Group

Použití databází na Webu

Diagnostika webových aplikací v Azure

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

O Apache Derby detailněji. Hynek Mlnařík

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Databázové systémy úvod

Semestrální práce z DAS2 a WWW

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.

B Organizace databáze na fyzické úrovni u serveru Oracle

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

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

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

TimescaleDB. Pavel Stěhule 2018

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

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

Optimalizace dotazů a databázové transakce v Oracle

PostgreSQL. Podpora dědičnosti Rozšiřitelnost vlastní datové typy. Univerzální nasazení ve vědecké sféře

SQL - trigger, Databázové modelování

Databáze II. 1. přednáška. Helena Palovská

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

Monitoring SQL Server, Resource Governor, Tracing SQL Server

Databázové systémy. Cvičení 6: SQL

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Analýza a modelování dat 6. přednáška. Helena Palovská

Databáze pro evidenci výrobků

PostgreSQL jako platforma pro datové sklady

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

SQL injection princip a ochrana

PHP a Large Objecty v PostgreSQL

Jak ušetřit místo a zároveň mít data snadno dostupná. David Turoň

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013

SSD vs. HDD / WAL, indexy a fsync

Jak efektivně ochránit Informix?

Audit DB. Referát. Vypracoval: Zdeněk Doležal MFF UK Praha 11/5/06

PG 9.5 novinky ve vývoji aplikací

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

5. POČÍTAČOVÉ CVIČENÍ

Novinky v Microsoft SQL Serveru RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

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

Jazyk SQL databáze SQLite. připravil ing. petr polách

KAPITOLA 1 Představení platformy Microsoft SQL Server 2008

Hardening ICT platforem: teorie nebo praxe. Pavel Hejduk ČEZ ICT Services, a. s.

Kód v databázi. RNDr. Ondřej Zýka

Střední odborná škola a Střední odborné učiliště, Hořovice

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

TSQL2. (aneb jak na to) Tomáš Janků

Databáze II. 2. přednáška. Helena Palovská

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

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

ÚVOD DO DATABÁZÍ. Metodické listy pro předmět

CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

FlowMon 8.0. Představení novinek v řešení FlowMon. Petr Špringl, Jan Pazdera {springl pazdera}@invea.com

Tabulka fotbalové ligy

Ukázka knihy z internetového knihkupectví

Ukládání a vyhledávání XML dat

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

Vazba ESO9 na MS Outlook a MS Exchange

Databázové a informační systémy Jana Šarmanová

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Databázové systémy a SQL

Materializované pohledy

MBI - technologická realizace modelu

<Insert Picture Here> Jak garantovat bezpečnost systémů ve státní správě

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Datové modelování II

Oracle XML DB. Tomáš Nykodým

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Č. 3. Zadavatel: Název veřejné zakázky: Česká republika Ministerstvo zemědělství

Databázové systémy I

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Fyzické uložení dat a indexy

cstore_fdw column store pro PostgreSQL Prague PostgreSQL Developer Day 2015 Jan Holčapek

KIV/ZIS cvičení 6. Tomáš Potužák

Enterprise funkce SQL Serveru 2016, které jsou od SP1 zdarma

Datové a procesní modely. A zpět k PEPOvi

Text úlohy. Systémový katalog (DICTIONARY):

Virtualizace storage infrastruktury

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Analýza zranitelností databází. Michal Lukanič, Database Specialist

Sledování výkonu aplikací?

Verzování a publikace dat na webu za pomoci PostgreSQL

První pomoc pro DBA. administrátory CIDUG. Milan Rafaj IBM Česká republika

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

8.2 Používání a tvorba databází

Zátěžové testy aplikací

Administrace, Monitoring. Pavel Stěhule P2D2, Praha 2016

IW3 MS SQL SERVER 2014

Zranitelnost databáze a ochrana vašich citlivých dat. Michal Lukanič, Database Specialist

VY_32_INOVACE_06_Předpřítomný čas_03. Škola: Základní škola Slušovice, okres Zlín, příspěvková organizace

Transkript:

Monitoring výkonu PostgreSQL Tomáš Vondra <tv@fuzzy.cz> http://www.fuzzy.cz

A jedééééém... Monitoring výkonu PostgreSQL

Můj SQL dotaz běží strašně pomalu! Chci vědět proč a chci aby běžel rychle! Use the EXPLAIN ANALYZE force, Luke!

Server z nějakého důvodu běží pomalu! Nemám tušení proč ale chci aby běžel rychle! Meditate on this, I will.

Cíle přednášky Ukázat jednu z možností sledování výkonu DB serveru. Představit některé použitelné nástroje. Přihřát si vlastní polívčičku ;-)

Cíle monitorování výkonu Předvídat potenciální výkonnostní problémy tak aby se na ně dalo včas zareagovat. Pomáhat při řešení problémů.

Úrovně monitoringu výkonu operační systém (top, dstat, iostat, ) pouze konstatuje že se něco děje nedává odpovědi na naše otázky :-( vnitřnosti DB (systémové tabulky) potenciálně může dát odpovědi na naše otázky pg_stat_* / pg_statio_*

Snapshoty bez historických dat jsme ztraceni snapshot = uložená data + informace o čase analýza je založena na rozdílech snapshotů nutné jsou informace z dobrých časů

Oracle Statspack Monitoring výkonu PostgreSQL

sada SQL a PL/SQL skriptů udělej snapshot dat z V$ pohledů (ulož do tabulky) data o sessions, dotazech, wait eventech ukládá do tradičních tabulek analýza a zobrazení dat ze snapshotů generování reportů nadstavby (AWR, Diagnostics Pack v EMC)

Není to žádná zbrusu nová, převratná nebo neodzkoušená technologie...

Zdroje zajímavých dat v PostgreSQL

Interní systémové katalogy pg_stat_* (db, bg_writer, tables, indexes, functions) způsoby čtení (sequential vs. index scans) řádky (inserted / updated / deleted / dead) vacuum / analyze funkce (calls / total time / self time) pg_statio_* (tables, indexes, sequences) heap / index blocks read cache hits

Contrib balíčky pg_buffercache pg_freespacemap pgstattuple pg_stat_statements

Snapshoty by hand CREATE TABLE pg_stat_tables_snapshot AS SELECT 'a'::text AS snap_name, now() AS snap_timestamp, * FROM pg_stat_all_tables WHERE (1 = 2) INSERT INTO pg_stat_tables_snapshot SELECT 'snap-a', now(), * FROM pg_stat_all_tables SELECT (b.seq_scan a.seq_scan) AS seq_scan_delta, FROM pg_stat_tables_snapshot AS a LEFT JOIN pg_stat_tables_snapshot AS b ON (a.relid = b.relid) WHERE a.snap_name = 'snap-a' AND b.snap_name = 'snap-b';

Strategie vytváření snapshotů snapshoty jen z okamžiku problémů nestačí jsou třeba snapshoty pro srovnání (stejné podmínky) počet uživatelů, množství dotazů, denní doba typ zátěže (batch / OLTP)... ani příliš dlouhé ani příliš krátké intervaly ekvidistantní (např. každých 15 minut) neekvidistantní (dva snapshoty 5 minut od sebe každou hodinu)

K čemu to všechno? řešení problémů někde se něco podělalo nevím co se podělalo :-( historie mi napoví kde by mohla být chyba predikce nic se (zatím) nepodělalo, ale co zítra? chci průběžně analyzovat sbíraná data v případě podivností poslat varování (e-mail, SMS,...)

Data máme víme kde je získat a dokážeme je uložit. Ale co dál? Lost a planet, Master Obi-Wan has. How embarrassing... how embarrassing.

Nástroje Monitoring výkonu PostgreSQL

Možné vlastnosti vytváření snapshotů práce se snapshoty (porovnávání, reporty, ) analýza snapshotů (varování, ) (?) centralizovaný nebo decentralizovaný (?) GUI a/nebo konzole (shell, PL/pgSQL)

pgstatspack http://pgfoundry.org/projects/pgstatspack/ Keith Pierno, Frits Hoogland

pgstatspack PL/pgSQL procedury + shell skripty vytváření snapshotů generování reportů (porovnávání snapshotů) primárně pro ruční použití

pgstatspack demo Monitoring výkonu PostgreSQL

pgstatspack výhody a nevýhody výhody jednoduchá instalace i použití čistě konzolové řešení (stačí psql a shell) to co umí umí velmi dobře (komplexní reporty) nevýhody pouze pro 8.1, nevyvíjí se (poslední 2.1 z 17. února 2009) práce jen se dvěma snapshoty necentralizované řešení (jedna DB)

pgmonitor http://pgmonitor.sf.net Tomáš Vondra

Rozdíly oproti pgstatspacku napsáno v PHP webové GUI rozhraní možnost centrálního uložiště vývoj probíhá podpora všech 8.x verzí

pgmonitor demo Monitoring výkonu PostgreSQL

pgmonitor plány do budoucna PL/pgSQL procedury pro analýzu velmi efektivní lepší GUI inteligentnější analýza / detekce problémů začlenění OS-level metrik a contrib metrik podpora partitioningu (?) nové zajímavé nápady (?) nějací dobrovolníci

Další nástroje... Monitoring výkonu PostgreSQL

Staplr (http://github.com/gmr/staplr)

Hyperic (http://www.hyperic.com)

check_postgres (http://bucardo.org/wiki/check_postgres) kontrolní skript široká škála kontrolovaných parametrů připraveno pro Nagios a MRTG napsáno v Perlu (brrrrr!) podpora i pro 8.4

Q&A Your father he is.