Amit mindig is tudni akartál a Real Application Testing-ről Földi Tamás Starschema Kft.
Környezet Adattárház Oracle 9i, HPUX 13ezer tábla ~1400 betöltő folyamat ~8000 töltési lépés (mapping) Riportok BusinessObjects 6.5 180 standard, 860 ad-hoc riport 1200 felhasználó (átlag 60-80 konkurens)
BI Upgrade: projekt célok Üzemeltethetőség Nem támogatott verziók cseréje Üzleti területek támogatása Dashboard-ok és riportok korszerűsítése Teljesítmény Iparági best practice -ek alkalmazása Költségcsökkentés Sztenderd, konszolidált megoldások
BI Upgrade: projekt eszközök Oracle 11g BusinessObject XI 3.1 PL/SAP Connector Elemzői támogatás (OLAP) Instance összevonás Automatic Storage Management SQL Plan Management SQL Tuning, Parallel Query Áttérés az XI 13.1 verzióra Riportok migrálása WebI formátumra LiveOffice bevezetés Metadata Manager bevezetés Hatékony SAP interfész kialakítása Új érkeztető keretrendszer Supply Chain Commercial Finance Sales
Oracle akcióterv Konszolidáció Stage és DWH instance-k összevonása Kevesebb licensz, jobb teljesítmény Upgrade 9i-ről 11g-re SQL tuning (orainit, PX, SPM) Tábla tömörítés Tároló kezelés Táblaterek átrendezése (ASSM) Automatic Storage Management (ASM) Nem használt struktúrák törlése (audit alapján)
Oracle projektág kockázatok Nem várt hibák Szoftverhibák, inkompatibilitás Adatanomáliák Nem teljesülnek a célok Elmarad a teljesítmény a meghatározott szintektől
Real Application Testing Valós terhelési adatok Végrehajtott SQL-ek Időzítések Hálózati terhelés Kiértékelés Riportok SQL tuning set-ek
Tesztelési folyamat
RAT előkészületek Mit akarunk tesztelni Instance összevonás Táblatér és tároló változások Optimális paraméterek Patch-ek Oracle 9.2.0.8 + one-off patch 9373986 Oracle 11.2.0.2 + one-off patch 11691834 Tárhely Próba felvételek Nem támogatott API töltések
Éles környezetek Patchek installálása Időzítés RAT rendszer Új környezet telepítése Tuning setek Riportok Teljes backup Teljes backup Felvétel indítása Felvételek feldolgozása Lejátszás Visszaállítás
Felvétel Rec fájlok Több gigabájtos felvételek Lassulás ARCHIVE mód direct path kerülése Kb. 10%-os lassulás Érdekes időszak kiválasztása 24 órás felvétel Azonos időpontban indítva
Lejátszás előkészületek Konzisztens állapot Minden adat az élessel megegyezik Az óra visszaállítva a felvétel időpontjára Backup RMAN backup vagy Snapshot Standby Feldolgozás Egy feldolgozás, több lejátszás Szűrés Nem használt sémák (EM, AWR)
Konszolidáció A RAT hivatalosan nem támogatja több adatbázis összevont visszajátszását. Azonban van működő kerülőút. Több instance egyidejű lejátszása: A forrásokat azonos időpontban kell indítani Egy könyvtárba kell másolni a REC fájlokat, de csak az egyik adatbázis meta-adatait kell mellérakni Csak időzítés alapú lejátszás lehetséges, SCN alapú szinkronizálás nélkül
Lejátszás Többszöri iteráció Paraméterek, környezet beállítása Workload lejátszás Visszaállás a kiindulási állapotra AWR baseline-ok készítése Replay kliensek Négy kliens (2 ETL, 2 BI) Client Calibration Advisor Szinkronizáció megválasztása Több instance-nél kizárólag időzítés alapú
DB Replay Adat eltérés Töltési hibák Teljesítmény különbségek (ADDM, ASH, AWR) SQL Performance Analyzer Teljesítmények összehasonlítása (CPU, IO, stb.) Az SPA Riportok SQL szintig lefúrhatóak (jobban, rosszabbul teljesítő SQL-ek) Rosszabb SQL-ek tunningja SQL Tuning Advisor Riportok
Eredmények Konszolidáció A két adatbázis összevonása esetén is kielégítő a teljesítmény Csökkenti a licensz és üzemeltetési költségeket Adatintegritás Nincs adatszintű eltérés Optimalizálás Lassabban futó lekérdezések izolálása 10-15%-os teljesítmény növekedés
RAT vs. Saját célalkalmazás Erőforrás ráfordítás (Napok) 40 20 0 Fejlesztés / RAT Installálás 30 20 10 5 4 0 2 5 0 Szimulációs környezet kialakítása Workload generálás Run Test 10 Kiértékelés: hatástanulmány és tuning set készítése DB Replay Saját megoldás DB Replay: 2 hét Teljes tesztelési időtartam Saját megoldás: 10 hét
Összefoglalás Könnyen kezelhető, egyszerű eszköz Valós tesztadatok szintetikus helyett Minden fontos lépésnél ajánlott mentést készíteni Több szerver konszolidációjához elengedhetetlen AWR-rel együtt hatékony igazán Oda kell figyelni a nem támogatott operációkra (direct path) Ki kell szűrni a nem használt sémákat Érdemes a PL/SQL interfészt használni az EM helyett
Köszönjük a figyelmet!
Felhasznált képek http://www.flickr.com/photos/govert1970/87971108/sizes/l/ http://www.flickr.com/photos/museeinformatique/3783304683/sizes/l/ http://www.flickr.com/photos/littledebbie11/3208631777/sizes/l/ http://theinspirationroom.com/daily/2008/mercedes-crash-test-for-breastcancer/ http://www.flightsafety.com/html/pdf/0981_sim_bro_final.pdf http://tonguc.files.wordpress.com/2009/07/11g_real_application_testing.ppt