Vidíte historickú verziu tejto stránky. Pozrite si aktuálnu verziu.

Porovnať s aktuálnou verziou Zobraziť históriu stránky

Verzia 1 Ďalej »

Archív - ladenie výkonu

Archív - debugovanie

Archív - ladenie výkonu

Táto sekcia obsahuje tipy na ladenie výkonu archívu.

  • Systémová štruktúra SV._System_ArchivPerformance je určená na monitorovanie výkonu archívu - viď popis jednotlivých stĺpcov. Odporúčame archiváciu stĺpcov PendingDbRequest, PendingStatReqest, PerformedDbRequest a PerformedCalcRequest (s vhodným filtrom) a prípadne štatistík (napr. 1-minútový a hodinový sumár).
  • Tell príkaz STATISTICS umožňuje zistenie množstva hodnôt, ktoré boli pre jednotlivé archívne objekty uložené do databázy za posledných N hodín. Výstupom príkazu je textový súbor, ktorý je možné následne importovať napr. do Excelu a zoradiť podľa posledného stĺpca. Následne je možné optimalizovať archívy s najväčším počtom hodnôt (nastavenie filtrov, prípadne obmedzenie počtu výpočtov pre vypočítané archívy)
  • Príkaz STATISTICS nezachytí, pokiaľ bola jedna hodnota menená viackrát (napríklad vkladanie hodnôt zo skriptu). Preto existujú ladiace kategórie DBG.ARCHIV.MANUAL_INSERT_VALUE a DBG.ARCHIV.MANUAL_UPDATE_VALUE  nastaviteľné pomocou procesu D2000 System Console v okne Debug info. Tieto kategórie zapínajú zobrazovanie výpisov o akciách INSERTARCHARR resp. UPDATEARCHVAL (a o ručnej modifikácii hodnôt z HI). Zobrazené sú ID archívnych objektov a vkladané hodnoty.
  • Ďalším problémom môže byť, že hodnoty opakovane vkladané zo skriptu spôsobia veľké množstvo následných prepočtov. V takom prípade je vhodné pred vkladaním zo skriptu najskôr vykonať čítanie (GETARCHVAL) a otestovať, či hodnota už v archíve nie je uložená. K dispozícii je aj ladiaca kategória DBG.ARCHIV.MANUAL_READ_BEFORE_IU, ktorá zapína túto funkčnosť priamo v obsluhe akcií INSERTARCHARR resp. UPDATEARCHVAL a ladiaca kategória DBG.ARCHIV.MANUAL_READ_BEFORE_IU.DBG, ktorá aktivuje výpisy, keď sa zistí, že vkladaná hodnota sa už v archíve nachádza. Pomocou týchto ladiacich výpisov je možné zistiť, pre ktoré objekty vkladané zo skriptu má zmysel implementovať čítanie pred zápisom.
  • Výkon archívu na platforme Linux (najmä pre vypočítané a štatistické archívy) je možné výrazne zvýšiť nasadením optimalizovanej unixODBC knižnice libodbc.so.2.0.0. Navyše odporúčame nasadenie patchov archívu z októbra 2022 a novších, ktoré majú implementované recyklovanie ODBC kurzorov, ktoré rieši pomalosti knižnice unixODBC spôsobené použitím dátových štruktúr (lineárne zoznamy) nevhodných pre aplikácie s niekoľkými desiatkami tisíc predkompilovaných kurzorov.
  • Na všetkých platformách odporúčame použiť pre potreby archivácie databázu PostgreSQL a venovať pozornosť nastaveniu jej parametrov.
  • Zrýchlenie archívu pri čítaní (a teda aj pri prepočtoch štatistických a výpočítaných archívov) je možné dosiahnúť zapnutím izochrónnej cache.
  • Zrýchlenie archívu pri zápise je možné dosiahnúť zvýšením počtu zapisovacích taskov - parameter WriteThreadsCount. Táto úprava vyžaduje rozšírenie licencie o High Performance Archiv.
  • Zrýchlenie archívu pri čítaní je možné dosiahnúť zvýšením počtu čítacích taskov - parameter ReadThreadsCount. Táto úprava vyžaduje rozšírenie licencie o High Performance Archiv.


Archív - debugovanie

Táto sekcia obsahuje tipy na ladenie jednotlivých archívnych objektov.

  • Tell príkaz SHOW_DYN_INFO je určený na jednorazové zobrazenie informácií o konkrétnom archívnom objekte.
  • Tell príkaz DI ON je určený na aktiváciu ladiacich informácii o konkrétnom archívnom objekte. Budú sa zobrazovať informácie o vkladaní hodnôt, v prípade vypočítaných a štatistických archívov o prepočtoch hodnôt a prípadne intervalov. Aktivácia ladiacej kategórie DBG.ARCHIV.DATA pre takéto archívne objekty zapne zobrazovanie vypočítaných hodnôt ako aj hodnôt zdrojových objektov idúcich do výpočtu.
  • Ladiaca kategória DBG.ARCHIV.GET_VALUE_FOR_TIME slúži na zapnutie výpisov pri čítaní hodnoty pre konkrétny čas z databázy.


  • Žiadne štítky