Podešavanje performansi u Informatici: Kompletan vodič

⚡ Pametni sažetak

Podešavanje performansi u Informatici uklanja najsporiju vezu u sesiji, jedan sloj po sloj, radeći od cilja natrag kroz izvor, mapu.ping, sesija i konačno operativni sustav.

  • 🎯 Fiksni redoslijed: Informatica preporučuje da se uska grla prvo traže kao cilj, zatim izvor, a zatim mapa.ping, zatim sesija, pa sustav.
  • 🧵 Statistike teme govore priču: Najprometnija od niti čitača, transformacije i pisca imenuje sloj na kojem je potreban rad.
  • 🚿 Filtriraj rano: Redci odbačeni u kvalifikatoru izvora nikada ne ulaze u cjevovod, tako da ne koštaju ništa nizvodno.
  • 🗄️ Pošalji rad u bazu podataka: Spajanja, sortiranja i filtriranja obično se izvode brže u SQL-u nego u transformaciji.
  • 🧊 Disciplina predmemorije: Manje portova i manje stupaca za pretraživanje znači manje predmemorije i manje straničenja diska.
  • ️ Postavke sesije su važne: Veličina DTM međuspremnika, veličina bloka međuspremnika, interval potvrđivanja i optimizacija potiskivanja podešavaju se nakon mapiranjaping je čist.

Podešavanje performansi u Informatici

Što je podešavanje performansi u Informatici?

Podešavanje performansi u Informatici je praksa pronalaženja komponente koja ograničava brzinu izvođenja sesije, uklanjanja tog ograničenja, a zatim ponavljanja vježbe na bilo kojoj komponenti koja sljedeća postane najsporija. Sesija je uvijek brza samo onoliko koliko je brz njezin najsporiji sloj, tako da podešavanje transformacije koja nikada nije bila problem ne proizvodi nikakav mjerljiv dobitak.

Informatica identificira pet mjesta gdje se može nalaziti usko grlo i preporučuje njihovo provjeravanje određenim redoslijedom.

Narudžba sloj Tipičan uzrok
1 Target Sporo pisanje, mali intervali kontrolnih točaka, male veličine mrežnih paketa baze podataka
2 izvor Spori upiti, nedostajući indeksi, čitaju se nepotrebni stupci
3 Kartaping Skupe ili loše postavljene transformacije, preveliki predmemorije
4 Sjednica Buffer memorija, interval učitavanja, particioniranje, tip učitavanja
5 sistem Zasićenost CPU-a, čekanja na I/O operacije, straničenje na računalu Integration Servicea

Redoslijed je namjeran. Cilj koji ne može dovoljno brzo apsorbirati retke učinit će da svaki uzvodni sloj izgleda sporo, pa se prvi provjerava. Potpuna metoda je dokumentirana u Vodič za podešavanje performansi PowerCentera.

Kako prepoznati uska grla u performansama

Pogađanje koji je sloj spor troši više vremena nego njegovo mjerenje. Četiri tehnike pokrivaju pet gore navedenih slojeva.

  • Pokrenite probnu sesiju. Konfigurirajte kopiju Sjednica pisati u ciljnu ravnu datoteku. Ako se sesija znatno ubrza, cilj je usko grlo. Zrcalna slika istog trika, čitanje iz izvorne ravne datoteke, izolira usko grlo izvora.
  • Analizirajte statistiku niti. Upravitelj transformacije podataka pokreće nit čitača, jednu ili više niti transformacije i nit pisca. Nit s najvećim vremenom zauzetosti u zapisniku sesije upućuje izravno na sloj na kojem treba raditi: čitač za izvor, transformacija za mapu.ping, pisac za metu.
  • Analizirajte detalje performansi. Omogući prikupljanje podataka o performansama na sesiji i očitaj brojače. Visok broj redaka s pogreškama ili veliki broj redaka u predmemoriji pretraživanja ukazuje na mapuping problem, a ne problem baze podataka.
  • Pratite sustav. Operaalati sustava koji prikazuju korištenje CPU-a, čekanja na ulazno/izlazne operacije i straničenje, zajedno s Monitor tijeka rada prikazi resursa otkrivaju stroj koji je jednostavno izvan kapaciteta.

Nakon što je poznat odgovorni sloj, vrijedi primijeniti savjete o razini transformacije u sljedećim odjeljcima. Odjeljci su poredani redoslijedom cjevovoda, od točke u kojoj podaci ulaze u kartaping do točke u kojoj se agregira.

Transformacija kvalifikatora izvora

Svaki redak koji Izvorni Kvalifikator ne pročita je redak koji nijedna druga transformacija ne mora obraditi, što ga čini najjeftinijim mjestom na cijeloj mapi.ping uštedjeti vrijeme.

  • Donesite samo potrebne stupce iz izvora. U većini slučajeva nisu potrebni svi stupci izvorne tablice, stoga donesite samo obavezna polja brisanjem nepotrebnih stupaca.
  • Izbjegavajte korištenje klauzule order by unutar Kvalifikator izvora SQL nadjačavanje. Klauzula order by zahtijeva dodatnu obradu, a performanse se mogu povećati njezinim izbjegavanjem.

Transformacija filtra

Filtriranje slijedi isti princip jedan korak kasnije u cjevovodu: odbacivanje neželjenih redaka u najranijoj točki u kojoj mapaping ima dovoljno informacija da ih identificira.

  • Koristiti transformacija filtera što je ranije moguće unutar kartepingAko se neželjeni podaci mogu odbaciti na početku karteping, to bi povećalo propusnost.
  • Koristite kvalifikator izvora za filtriranje podataka. Također možete koristiti SQL nadjačavanje kvalifikatora izvora za filtriranje zapisa umjesto korištenja transformacije filtera.

Joiner transformacija

Pridruživanje je prva zaista skupa operacija na tipičnoj mapiping, jer glavni izvor mora biti predmemoriran prije nego što se redci s detaljima mogu usporediti s njim.

  • Uvijek je bolje izvoditi spajanja u bazi podataka ako je moguće, jer su spajanja s bazom podataka brža od spajanja stvorenih u Informatici. transformacija spojara.
  • Razvrstajte podatke prije pridruživanja ako je moguće, jer smanjuje I/O diska koji se izvodi tijekom pridruživanja.
  • Napravite tablicu s manjim brojem redaka kao glavnu tablicu.

Treća točka je ona koja se najčešće previđa. Integration Service pohranjuje glavni izvor u predmemoriju, pa imenovanje manje tablice kao glavne održava tu predmemoriju malom.

Transformacija traženja

Pretraživanje ili šalje upit bazi podataka jednom po retku ili gradi predmemoriju u memoriji, a obje rute nagrađuju manji, bolje indeksirani izvor pretraživanja.

  • Izradite indeks za stupac u tablica pretraživanja koji se koristi u uvjetu pretraživanja. Budući da će se tablica pretraživanja upitavati za traženje odgovarajućih podataka, dodavanje indeksa povećalo bi performanse.
  • Ako je moguće, umjesto korištenja transformacije pretraživanja upotrijebite pridruživanje u bazi podataka. Kako su spajanja baze podataka brža, performanse će se povećati.
  • Izbrišite nepotrebne stupce iz tablice pretraživanja i zadržite samo potrebne stupce. Ovo će smanjiti troškove dohvaćanja dodatnih stupaca iz baze podataka.

Transformacija agregatora

An Agregator drži podatke u predmemoriji dok grupira retke, tako da sve što smanjuje volumen koji do njega dopire smanjuje potrebnu predmemoriju.

  • Filtrirajte podatke prije agregiranja. Ako koristite transformaciju filtera na kartiping, a zatim filtrirajte podatke prije korištenja agregatora jer će to smanjiti nepotrebne operacije agregacije.
  • Ograničite broj portova korištenih u transformaciji agregatora. To će smanjiti količinu podataka koje transformacija agregatora pohranjuje unutar predmemorije.

Podešavanje na razini sesije u Informatici

Kada kartaping sam po sebi je čist, preostali dobici dolaze od svojstava sesije. Ove postavke vrijedi mijenjati jednu po jednu, s vremenski ograničenim pokretanjem nakon svake promjene, jer nekoliko njih žrtvuje memoriju za brzinu.

Postavljanje Što kontrolira Kada ga promijeniti
Veličina DTM međuspremnika Ukupna memorija koju Integration Service dodjeljuje za izvorne i ciljne blokove podataka Povećaj kada sesija obrađuje mnogo particija, izvora ili ciljeva
Buffer veličina bloka Veličina pojedinačnog memorijskog bloka Povećaj za neuobičajeno velike retke; smanji kada je fizička memorija ograničena
Interval potvrđivanja Koliko se redaka zapiše prije izdavanja commita? Podigni ga kada nit pisanja provodi vrijeme čekajući na kontrolne točke baze podataka
Optimizacija potiskivanja Koliki dio karteping logika se pretvara u SQL i izvršava u bazi podataka Koristi se kada se izvor i cilj nalaze na istoj moćnoj bazi podataka

Buffer memorija slijedi dokumentirani izračun, a ne nagađanje. Integration Service dodjeljuje najmanje dva bloka za svaku izvornu i ciljnu particiju, pa se broj blokova međuspremnika sesije (ukupni izvori + ukupni ciljevi) pomnoži s dva, a veličina DTM međuspremnika je taj broj blokova pomnožen s veličinom bloka međuspremnika i podijeljen s 0.9.

Optimizacija pushdown-a zaslužuje oprez. Pomaže samo kada je baza podataka zaista brža od Integration Service stroja i logika transformacije se može izraziti u SQL; logika koja se ne može prevesti ostaje u sesiji, pa je dobitak često manji od očekivanog. Mjerite prije i poslije umjesto da je omogućite kao zadanu postavku.

Pitanja i odgovori

Particioniranje pomaže kada Integration Service računalo ima slobodni CPU, a izvor i cilj mogu posluživati ​​paralelne veze. Na zasićenom računalu ili na jednonitnom cilju, dodatne particije povećavaju opterećenje bez skraćivanja vremena izvođenja.

Postavite indeks i predmemoriju podataka dovoljno velike da pohrane cijeli izvor pretraživanja, inače će se stranice Integration Servicea spremiti na disk. Zapisnici sesija prijavljuju stvarno potrebnu veličinu predmemorije, stoga pokrenite jednom s automatskim određivanjem veličine i pročitajte vrijednost natrag.

Svaki umetnuti element također održava svaki indeks i ograničenje na cilju, a taj trošak raste s veličinom tablice. Zastarjela statistika baze podataka pogoršava stvari. Nit za pisanje tada postaje najprometnija nit, što je klasični potpis uskog grla cilja.

Da, jer transformacija može osloboditi svaku grupu čim završi umjesto da sve pohrani u predmemoriju. Dolazni retci već moraju biti sortirani prema portovima grupiranja, a sesija prekida ako nisu.

Za veliko opterećenje samo umetanjem, ispustiteping indeksi i ograničenja prvo, a njihova naknadna ponovna izgradnja obično je brža. SQL naredbe prije i poslije sesije na svojstvima sesije su uobičajeno mjesto za skriptiranje oba koraka.

Skupni način rada zaobilazi veći dio zapisivanja baze podataka i brže se učitava, ali sprječava oporavak i ne radi sa svim ciljevima ili strategijama ažuriranja. Normalni način rada zapisuje kroz uobičajenu putanju zapisivanja i ostaje oporavljiv.

Modeli trenirani na povijesnim vremenima izvođenja označavaju sesiju koja je odstupila od svog normalnog trajanja puno prije nego što je itko primijeti, te kvarove povezane s klasterima. Oni ukazuju na izvođenje koje se promijenilo - odgovorni sloj još uvijek se mora potvrditi iz statistike niti.

Može prepisati upit, predložiti kandidate za indeksiranje i objasniti plan izvršenja zalijepljen u uređivač. Ne može vidjeti repozitorij ili zapisnik sesije, pa svako prepisivanje mora biti validirano u odnosu na stvarni plan i broj redaka.

Sažmite ovu objavu uz: