Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
SQL Trace, Profiling, …a Tuning Lubomír Andrle Lubomir.andrle@unicorn.eu
2
OWI Za vším hledej waity Komplexní instrumentace Oracle kernelu Velmi jemná granularita Event vs. Wait class V$SESSION
3
Co je to výkon? Otázka: Databáze běží na 100% CPU. Je to známka dobrého nebo špatného výkonu? Záleží… „Výkon“ – Throughput – Response time
4
Co databázi vytěžuje V podstatě… : – Sessiony (bez nich nikdo nic neudělá) – Aplikace, kterým ty sessiony patří – Spouštění kurzorů (samotné SQL) Vytěžují CPU – anebo by chtěly Nevytěžují CPU – jsou IDLE nebo jsou něčím blokovány
5
Metriky databáze Ratios – Buffer cache hit ratio Počet transakcí za minutu Využití CPU ….. Neříkají nám nic o tom, jestli uživatel čeká nebo ne
6
Co má smysl měřit? ČAS – pro konkrétní úlohu – (konkrétního uživatele) – tak jemně, jak je potřeba
7
Response time Odezva pro uživatele – čas, za který je úloha splněna Součet časů všech podúloh – Parse – Načtení dat z tabulek – Přenos na aplikační vrstvu – …
8
Jak měřit response time? Instrumentace kódu Na úrovni Oracle – využít OWI
9
SQL Trace Vždy v rámci jedné session Generuje tracefile Event 10046 Alter session set events '10046 trace name context forever, level 12‘ DBMS_SYSTEM DBMS_MONITOR – Preferovaná metoda od 10g
10
SQL Trace II DBMS_MONITOR – Session_trace_enable – Database_trace_enable …
11
SQL Trace III PARSE, EXEC, FETCH c = CPU time e = Elapsed time r = rows returned p = physical reads cr = consistent reads
12
SQL Trace IV WAIT nam = název eventu ela = elapsed time (mikrosekundy) BINDS dty = datový typ val = value XCTEND – Commit / rollback
13
SQL Trace V Třívrstvá architektura Connection pooling DBMS_SESSION.set_identifier Client_id_trace_enable
14
Profiling TKPROF – parsuje tracefile a provede agregace tkprof
15
Profiling II Alternativy k TKPROF: – OraSRP – TVDXTAT – MOS tooly
16
Profiling III Třívrstvá architektura: – Jeden „request“ je často rozprostřen mezi několik sessions – Sessiony jsou podepsané pomocí request ID Utilita TRCSESS – Spojuje tracefily na základě parametrů – Například client_identifier nebo action
17
Profiling IV Nepoužívejte trace na celou databázi Profilujte relevantní části Pozor na místo na disku
18
Historické metriky ASH (Active session history) – V$ACTIVE_SESSION_HISTORY AWR (Automatic workload repository) – DBA_HIST_% Vyžaduje Enterprise Edition + tuning packy
19
AWR Vytváří snapshoty – Agregovaná data z ASH pro dané období – Data jsou pak zveřejněna pomocí DBA_HIST pohledů – Je nad nimi možné dělat vlastní výpočty a přehledy DBMS_WORKLOAD_REPOSITORY
20
AWR II AWR Report Agregované informace z AWR v textu nebo HTML $ORACLE_HOME/rdbms/admin/awrrpt.sql
21
AWR III ADDM – Automatic database diagnostic monitor – Vyhodnocuje data z AWR a vydává doporučení ADDM Report $ORACLE_HOME/rdbms/admin/addmrpt.sql
22
Shrnutí Response time Tracing Profiling Automaticky sbírané výkonnostní metriky databáze – ASH, AWR, ADDM – reporty
23
Q & A
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.