Výkon a řešení potíží s extrakcí dat SAP

Tento článek je součástí řady článků "SAP extend and innovate data: Best practices" (Rozšíření a inovace dat SAP: Osvědčené postupy).

Existuje mnoho způsobů, jak se připojit k systému SAP za účelem integrace dat. Následující části popisují obecné aspekty a doporučení specifické pro konektory.

Výkon

Je důležité nakonfigurovat optimální nastavení pro zdroj a cíl, abyste dosáhli nejlepšího výkonu při extrakci a zpracování dat.

Obecné aspekty

  • Ujistěte se, že jsou pro maximální souběžné připojení nastavené správné parametry SAP.
  • Zvažte použití typu přihlášení skupiny SAP pro lepší výkon a distribuci zatížení.
  • Ujistěte se, že virtuální počítač místního prostředí Integration Runtime (SHIR) má odpovídající velikost a je vysoce dostupný.
  • Při práci s velkými datovými sadami zkontrolujte, jestli konektor, který používáte, poskytuje funkci dělení. Mnoho konektorů SAP podporuje možnosti dělení a paralelizace, které urychlují načítání dat. Při použití této metody jsou data zabalena do menších bloků dat, které lze načíst pomocí několika paralelních procesů. Další informace najdete v dokumentaci ke konkrétnímu konektoru.

Obecná doporučení

  • Pomocí RZ12 transakce SAP upravte hodnoty pro maximální počet souběžných připojení.

    Parametry SAP pro RFC – RZ12: Následující parametr může omezit počet volání RFC, která jsou povolená pro jednoho uživatele nebo jednu aplikaci, takže se ujistěte, že toto omezení nezpůsobuje kritický bod.

    Snímek obrazovky znázorňující část Vlastnosti závislé na instanci Maximální počet samostatných přihlášení je zvýrazněný.

    Snímek obrazovky zobrazující kvóty ARFC v okně Pomocníka s výkonem

  • Připojení k SAP pomocí přihlašovací skupiny: SHIR (místní prostředí Integration Runtime) by se mělo připojit k SAP pomocí skupiny SAP Logon (přes server zpráv), a ne ke konkrétnímu aplikačnímu serveru, aby se zajistila distribuce úloh mezi všechny dostupné aplikační servery.

    Poznámka

    Cluster Spark a SHIR toku dat jsou výkonné. Mnoho interních aktivit kopírování SAP, například 16, je možné aktivovat a spustit. Pokud je ale souběžné číslo připojení serveru SAP malé, například 8, funkce načte data ze strany SAP.

  • Začněte s 4vCPU a 16GB virtuálními počítači pro SHIR. Následující kroky ukazují připojení pracovního procesu dialogového okna v SAP k SHIR.

    1. Zkontrolujte, jestli zákazník nepoužívá špatný fyzický počítač k nastavení a instalaci SHIR ke spuštění interní kopie SAP.
    2. Přejděte na portál Azure Data Factory a vyhledejte související propojenou službu SAP CDC, která se používá v toku dat. Zkontrolujte odkazovaný název SHIR.
    3. Zkontrolujte nastavení procesoru, paměti, sítě a disku fyzického počítače, na kterém je nainstalovaný SHIR.
    4. Zkontrolujte, kolik diawp.exe běží na počítači SHIR. Jeden diawp.exe může spustit jednu aktivitu kopírování. Počet je diawp.exe založený na nastavení procesoru, paměti, sítě a disku počítače.

    Snímek obrazovky znázorňující pracovní procesy dialogového okna ve Správci úloh

  • Pokud chcete paralelně spouštět více oddílů na SHIR najednou, použijte k nastavení SHIR výkonný virtuální počítač. Nebo můžete použít horizontální navýšení kapacity s využitím funkcí vysoké dostupnosti a škálovatelnosti SHIR, abyste měli více uzlů. Další informace najdete v tématu Vysoká dostupnost a škálovatelnost.

Oddíly

Následující část popisuje proces dělení konektoru SAP CDC. Postup je stejný pro tabulku SAP a konektor SAP BW Open Hub.

Snímek obrazovky znázorňující prostředky pro extrakci dat

Škálování je možné provádět v místním prostředí IR nebo Azure IR v závislosti na vašich požadavcích na výkon. Projděte si využití procesoru v SHIR a zobrazte metriky, které vám pomůžou při rozhodování o vašem přístupu ke škálování. SHIR lze vertikálně nebo horizontálně škálovat podle vašich potřeb. Doporučujeme nasadit Azure IR s nižší skladovou položkou. Vertikálně navyšujte kapacitu tak, aby splňovala vaše požadavky na výkon stanovené zátěžovými testy, a nezačínat zbytečně na vyšší úrovni.

Poznámka

Pokud dosahujete 70% kapacity, vertikálně navyšte kapacitu nebo vertikálně navyšte kapacitu pro SHIR.

Diagram znázorňující fungování procesu dělení v konektoru SAP CDC

Dělení je užitečné pro počáteční nebo velké úplné zatížení a obvykle se nevyžaduje pro rozdílová zatížení. Pokud nezadáte oddíl, ve výchozím nastavení 1 "producent" v systému SAP (obvykle jeden dávkový proces) načte zdrojová data do fronty provozních dat (ODQ) a SHIR načte data z ODQ. Ve výchozím nastavení používá SHIR k načtení dat z ODQ čtyři vlákna, takže v SAP jsou v té době potenciálně obsazené čtyři procesy dialogových oken.

Účelem dělení je rozdělit velkou počáteční datovou sadu na několik menších oddělených podmnožin, které jsou v ideálním případě stejné velikosti a které je možné zpracovávat paralelně. Tato metoda lineárním způsobem zkracuje dobu potřebnou k vytvoření dat ze zdrojové tabulky do odq. Tato metoda předpokládá, že na straně SAP je dostatek prostředků pro zpracování zatížení.

Poznámka

  • Počet paralelně spuštěných oddílů je omezený počtem jader ovladačů v prostředí Azure IR. V současné době probíhá řešení tohoto omezení.
  • Každá jednotka nebo balíček v transakci SAP ODQMON je jeden soubor v pracovní složce.

Aspekty návrhu při spouštění kanálů pomocí CDC

  • Zkontrolujte dobu trvání sap do fáze.

  • Zkontrolujte výkon modulu runtime v jímce.

  • Zvažte použití funkce dělení ke zvýšení výkonu pro lepší propustnost.

  • Pokud je doba trvání fáze SAP pomalá, zvažte změnu velikosti SHIR na vyšší specifikace.

    Snímek obrazovky znázorňující dobu trvání sap do fáze v dialogovém okně Streamovat informace

  • Zkontrolujte, jestli není doba zpracování jímky příliš pomalá.

    Snímek obrazovky znázorňující dobu zpracování jímky v dialogovém okně Streamovat informace

    Pokud se ke spuštění toku dat mapování použije malý cluster, může to ovlivnit výkon jímky. Použijte velký cluster, například 16 + 256 jader, aby nástroj načetl data z fáze a zapisuje do jímky.

  • U velkých objemů dat doporučujeme rozdělit zatížení na oddíly, aby se spouštěly paralelní úlohy, ale počet oddílů byl menší nebo roven jádru Prostředí Azure IR, označované také jako jádro clusteru Spark.

    Na kartě Optimalizovat můžete definovat oddíly. V konektoru CDC můžete použít dělení zdrojového kódu.

    Snímek obrazovky znázorňující dělení zdroje na kartě Optimalizace

    Poznámka

    • Existuje přímá korelace mezi počtem oddílů s jádry SHIR a uzly Azure IR.
    • Konektor SAP CDC je v systému SAP uvedený jako typ odběratele Odata "Přístup k Odata pro zřizování provozních dat" v části ODQMON.

Aspekty návrhu při použití konektoru tabulky

  • Optimalizujte dělení pro zajištění lepšího výkonu.
  • Vezměte v úvahu stupeň paralelismu z tabulky SAP.
  • Zvažte návrh jednoho souboru pro cílovou jímku.
  • Pokud používáte velké objemy dat, proveďte srovnávací testy propustnosti.

Doporučení k návrhu při použití konektoru tabulky

  • Oddíl: Při dělení v konektoru tabulky SAP rozdělí jeden základní příkaz select na několik pomocí klauzule where jsou na vhodném poli, například pole s vysokou kardinalitou. Pokud má tabulka SAP velký objem dat, povolte dělení na menší oddíly. Pokuste se optimalizovat počet oddílů (parametr maxPartitionsNumber) tak, aby oddíly byly dostatečně malé, aby se zabránilo výpisům paměti v SAP, ale dostatečně velké pro urychlení extrakce.

  • Paralelnost: Stupeň paralelismu kopírování (parametr parallelCopies) funguje v tandemu s dělením a dává pokyn SHIR provádět paralelní volání RFC systému SAP. Pokud například nastavíte tento parametr na hodnotu 4, služba současně vygeneruje a spustí čtyři dotazy na základě zadané možnosti oddílu a nastavení. Každý dotaz načte část dat z tabulky SAP.

    Pro dosažení optimálních výsledků by počet oddílů měl být násobek čísla stupně paralelismu kopírování.

    Při kopírování dat z tabulky SAP do binárních jímek se skutečný paralelní počet automaticky upraví na základě velikosti paměti, která je k dispozici v SHIR. Poznamenejte si velikost virtuálního počítače SHIR pro každý testovací cyklus, stupeň paralelismu kopírování a počet oddílů. Sledujte výkon virtuálního počítače SHIR, výkon zdrojového systému SAP a požadovaný vs. skutečný stupeň paralelismu. Pomocí iteračního procesu identifikujte optimální nastavení a ideální velikost pro virtuální počítač SHIR. Vezměte v úvahu všechny kanály příjmu dat, které současně načítají data z jednoho nebo několika systémů SAP.

    Všimněte si pozorovaného počtu volání RFC do SAP v rámci nakonfigurovaného stupně paralelismu. Pokud je počet volání RFC pro SAP menší než stupeň paralelismu, ověřte, že virtuální počítač SHIR má k dispozici dostatek paměti a prostředků procesoru. V případě potřeby zvolte větší virtuální počítač. Zdrojový systém SAP je nakonfigurovaný tak, aby omezoval počet paralelních připojení. Další informace najdete v části Obecná doporučení v tomto článku.

  • Počet souborů: Když zkopírujete data do souborového úložiště dat a cílová jímka je nakonfigurovaná jako složka, ve výchozím nastavení se vygeneruje více souborů. Pokud nastavíte fileName vlastnost v jímce, data se zapíšou do jednoho souboru. Doporučuje se zapisovat do složky jako více souborů, protože získáte vyšší propustnost zápisu v porovnání s zápisem do jednoho souboru.

  • Srovnávací test výkonu: K ingestování velkých objemů dat doporučujeme použít srovnávací testy výkonu. Tato metoda mění parametry, jako je dělení, stupeň paralelismu a počet souborů, aby bylo možné určit optimální nastavení pro danou architekturu, objem a typ dat. Shromážděte data z testů v následujícím formátu.

    Snímek obrazovky znázorňující formát dat srovnávacího testu výkonu

Řešení potíží

  • V případě pomalé nebo neúspěšné extrakce ze systému SAP použijte protokoly SAP ze SM37 a spárujte je se čtením ve službě Data Factory.

  • Pokud se aktivuje jenom jedna dávková úloha, nastavte zdrojové oddíly SAP tak, aby se zlepšil výkon toku dat mapování ve službě Data Factory. Další informace najdete v kroku 6 v tématu Mapování vlastností toku dat.

  • Pokud se v systému SAP aktivuje více dávkových úloh a mezi časem spuštění jednotlivých dávkových úloh je významný rozdíl, změňte velikost prostředí Azure IR. Když zvýšíte počet uzlů ovladačů v Prostředí Azure IR, zvýší se paralelismus dávkových úloh na straně SAP.

    Poznámka

    Maximální počet uzlů ovladačů pro prostředí Azure IR je 16. Každý uzel ovladače může aktivovat pouze jeden dávkové procesy.

  • Zkontrolujte protokoly v SHIR. Pokud chcete zobrazit protokoly, přejděte na virtuální počítač SHIR. Otevřete Prohlížeč > událostí Aplikace a protokoly > služeb Connectors > Integration Runtime.

  • Pokud chcete odeslat protokoly podpoře, přejděte na virtuální počítač SHIR. Otevřete protokoly odeslání > diagnostiky Integration Runtime configuration manageru>. Tato akce odešle protokoly za posledních sedm dnů a poskytne vám ID sestavy. Potřebujete ID této sestavy a ID spuštění vašeho spuštění. Zdokumentujte ID sestavy pro budoucí použití.

  • Při použití konektoru SAP CDC ve scénáři SLT:

    • Ujistěte se, že jsou splněné požadavky. Pro uživatele SLT (SAP Landscape Transformation) jsou vyžadovány role, například ADFSLTUSER v systémech OLTP nebo ECC, aby fungovala replikace SLT. Další informace najdete v tématu Jaká autorizace a role jsou potřeba.

    • Pokud ve scénáři SLT dojde k chybám, projděte si doporučení pro analýzu. Nejprve izolujte a otestujte scénář v rámci řešení SAP. Můžete ho například otestovat mimo Data Factory spuštěním testovacího programu, který poskytuje SAP RODPS_REPL_TEST v se38. Pokud je problém na straně SAP, při použití sestavy se zobrazí stejná chyba. Extrakci dat v SAP můžete analyzovat pomocí kódu ODQMONtransakce .

      Pokud replikace funguje, když použijete tuto testovací sestavu, ale ne s Data Factory, obraťte se na podporu Azure nebo Data Factory.

      Následující příklad ukazuje sestavu pro RODPS_REPL_TEST v se38:

      Snímek obrazovky s rozevíracím seznamem Odp Context v dialogovém okně Extrahovat data

      Snímek obrazovky s nastavením v dialogovém okně Extrahovat data

      Snímek obrazovky s dialogovým oknem Extrahovat data

      Následující příklad ukazuje kód ODQMONtransakce :

      Snímek obrazovky s oknem Monitorování datových jednotek ve frontě Delta

    • Když se propojená služba Data Factory připojí k systému SLT, nezobrazí při aktualizaci pole Kontext ID hromadného přenosu SLT.

      Snímek obrazovky znázorňující propojenou službu Data Factory

    • Pokud chcete spustit scénář replikace ODP/ODQ pro server replikace SAP LT, aktivujte následující implementaci obchodního doplňku (BAdI).

      Badi: BADI_ODQ_QUEUE_MODEL

      Implementace vylepšení: ODQ_ENH_SLT_REPLICATION

      1. V transakci LTRC přejděte na kartu Expert Function a vyberte Aktivovat nebo deaktivovat implementaci BAdI , aby se implementace aktivovala.

        Snímek obrazovky s kartou Funkce Expert

      2. Vyberte Ano.

        Snímek obrazovky s dialogovým oknem Přizpůsobení implementací BADI

      3. Ve složce funkcí specifických pro ODQ/ODP vyberte Zkontrolovat, jestli je implementace BAdI aktivní.

        Snímek obrazovky znázorňující složku funkcí specifických pro ODQ ODP Zkontrolujte, jestli je vybraná možnost Implementace BADI je aktivní.

        V dialogovém okně se zobrazí aktivita programu.

        Snímek obrazovky znázorňující aktivitu programu

  • Resetujte předplatná. Pokud chcete začít s čerstvou extrakcí nebo zastavením replikačních dat, odeberte předplatné v ODQMON. Tato akce také odebere položky z LTRC. Po resetování předplatného může trvat několik minut, než se v LTRC projeví efekt. Plánování úloh údržby provozních dat (ODP) za účelem udržování čistých rozdílových front, například ODQ_CLEANUP_CLIENT_004

  • CDS_VIEW (transakce DHCDCMON). Od verze S/4HANA 1909 sap replikuje data ze zobrazení CDS, která místo sloupců kalendářních dat používají triggery založené na datech. Koncept se podobá SLT, ale místo použití transakce LTRC k jeho monitorování použijete transakci DHCDCMON.

Řešení potíží s SLT

Server replikace SLT poskytuje replikaci dat ze zdrojů SAP nebo jiných zdrojů v reálném čase do cílů SAP nebo cílů jiných než SAP. Existují tři typy sad nástrojů pro monitorování extrakce z SLT do Azure.

  • ODQMON je celkový monitorovací nástroj pro extrakci dat. Spusťte analýzu pomocí ODQMON a sledujte nekonzistence dat, počáteční analýzu výkonu a otevřete žádosti o předplatné a extrahování.
  • LTRC je transakce, která se má použít ke kontrole analýzy výkonu. Je to užitečné, pokud máte problémy s replikací dat ze zdrojového systému do odp, protože můžete monitorovat tok dat a zjistit nekonzistence.
  • SM37 poskytuje podrobné monitorování jednotlivých kroků extrakce SLT.

Normální úklid by se měl provádět pomocí ODQMON, kde můžete spravovat předplatné přímo a neměli byste pro totéž používat LTRC.

Při extrahování dat ze SLT můžete narazit na problémy, například:

  • Extrakce se nespustí. Zkontrolujte, jestli připojení SAP CDC vytvořilo připojení v ODQMON, a zkontrolujte, jestli předplatné existuje.

  • Nekonzistence dat. Zkontrolujte ODQMON, abyste viděli individuální žádost o data a ověřte, že tam vidíte data. Pokud vidíte data v ODQMON, ale ne v Azure Synapse nebo Data Factory, mělo by šetření proběhnout na straně Azure. Pokud nevidíte data v ODQMON, proveďte analýzu architektury SLT pomocí LTRC.

  • Problémy s výkonem. Extrakce dat je dvoustupňový přístup. Nejprve SLT načte data ze zdrojového systému a přenese je do ODP. Zadruhé konektor SAP CDC převezme data z ODP a přenese je do zvoleného úložiště dat. Transakce LTRC umožňuje analyzovat první část procesu extrakce. Pokud chcete analyzovat extrakci dat z ODP do Azure, použijte monitorovací nástroje ODQMON a Data Factory nebo Synapse.

Výkon SLT

V režimu počátečního načítání (ODPSLT) existují tři kroky k extrakci dat ze SLT do ODP:

  1. Vytváření objektů migrace Tento proces trvá jen pár sekund.
  2. Přístup k výpočtu plánu, který rozdělí zdrojovou tabulku na menší bloky. Tento krok závisí na počátečním režimu načítání, který vyberete během konfigurace SLT, a na velikosti tabulky. Doporučuje se možnost optimalizovaná pro prostředky.
  3. Načtení dat přenese data ze zdrojového systému do ODP.
  • Každý krok se řídí úlohami na pozadí. K monitorování doby trvání můžete použít transakce SM37 a LTRC. Pokud je váš systém přílišný, můžou se úlohy na pozadí spustit později, protože není k dispozici dostatek volných procesů dávkové práce. Když jsou úkoly nečinné, dochází k snížení výkonu.

  • Pokud výpočet plánu přístupu trvá dlouho a váš počáteční režim načítání je nastavený na "optimalizovaný výkon", změňte ho na "optimalizováno pro prostředky" a spusťte extrakci znovu. Pokud načítání dat trvá dlouho, zvyšte počet paralelních vláken v konfiguraci.

  • Pokud pro replikaci SLT používáte samostatnou architekturu (vyhrazený server replikace SLT), může propustnost sítě mezi zdrojovým systémem a replikačním serverem ovlivnit výkon extrakce.

  • Replikace:

    • Ujistěte se, že máte dostatek úloh přenosu dat, které nejsou rezervované pro počáteční načtení.
    • Zkontrolujte, že ve statistikách načítání nemáte nezpracovaný záznam tabulky protokolování.
    • Ujistěte se, že je možnost replikace nastavená na hodnotu v reálném čase.
  • Rozšířená nastavení replikace jsou k dispozici v LTRS. Další informace najdete v průvodci odstraňováním potíží s SLT.

  • Různé verze SAP mají různá uživatelská rozhraní LTRC. Následující snímky obrazovky ukazují stejnou stránku pro dvě různé verze.

    SAP S/4HANA:

    Snímek obrazovky znázorňující obrazovku SAP S/4HANA

    SAP ECC:

    Snímek obrazovky znázorňující obrazovku SAP ECC

Monitor

Informace o monitorování extrakce dat SAP najdete v těchto zdrojích informací:

Další kroky