abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:44 | Nová verze

    Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 11:55 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 00:44 | Nová verze

    Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).

    |🇵🇸 | Komentářů: 8
    17.8. 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    17.8. 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 10
    17.8. 12:33 | Zajímavý projekt

    Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.

    |🇵🇸 | Komentářů: 6
    17.8. 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 1
    16.8. 18:55 | Komunita

    Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 1
    16.8. 04:22 | Komunita

    Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2418 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Dotaz: MSSQL profilování

    17.2.2021 09:23 Jan Kratochvíl | skóre: 13
    MSSQL profilování
    Přečteno: 4550×
    Zdravím všechny,

    potřeboval bych poradit jak najít na MSSQL (2016 SP2) úzké místo, respektive asi nějaké blokování/zámky. Mám dost složitou proceduru, která provádí fakturaci v ERP (z objednávky vytvoří fakturu, má hromadu validací, atd.) Normálně běží od 0-0.5s což mi vyhovuje, ale občas trvá její běh násobně více (i 20s). Protože v systému pracuje mnoho uživatelů, podezřívám nějaké blokování/zamykání tabulek.

    Otázka je, zdali někdo neporadí, jak to pomocí XE Profileru odhalit? Co jsem koukal do různých tutoriálů, tak se to zaměřuje na long running queries, ale to v zásadě už vím. Potřebuji zjistit stav celého toho serveru v momentě dlouhého běhu. Neví někdo jakým směrem se vydat?

    Díky Honza

    Odpovědi

    21.2.2021 12:04 Dominika_myerp_cz
    Rozbalit Rozbalit vše Re: MSSQL profilování
    Prověřit Deadlocky

    Use Master
    SELECT
    xed.value('@timestamp', 'datetime') as Creation_Date,
    xed.query('.') AS Extend_Event
    FROM (
    SELECT CAST([target_data] AS XML) AS Target_Data
    FROM sys.dm_xe_session_targets AS xt
    INNER JOIN sys.dm_xe_sessions AS xs
    ON xs.address = xt.event_session_address
    WHERE xs.name = N'system_health'
    AND xt.target_name = N'ring_buffer'
    ) AS XML_Data
    CROSS APPLY Target_Data.nodes('RingBufferTarget/event[@name="xml_deadlock_report"]') AS XEventData(xed)
    ORDER BY Creation_Date DESC

    Zvednout Max degree of parallelism
    https://docs.microsoft.com/fr-FR/sql/database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option?view=sql-server-ver15

    Vypnout Boost SQL Server Priority
    Nechat na serveru zapnutý režim výkonu procesoru a nepodtaktovávat
    2.3.2021 18:04 j
    Rozbalit Rozbalit vše Re: MSSQL profilování
    Chovani je zavisly (dost) na tom, jak mas nastavenou databazi, trebas read committed snapshot. Jen pozor na to, ze nez neco zacnes menit, je treba si vzdy uvedomit dusledky a ne s kazdou aplikaci to lze. Tohle samo o sobe pomerne efektivne umi zabranit deadlockum.

    Velmi zjednodusene to funguje tak, ze pro transakci vytvori snapshot stavajicich dat, a tudiz dalsi query do stejnych dat neceka. Na druhou stranu to pak pochopitelne vraci starou verzi dat i v okamziku, kdyz je prave menis.

    Taky je dobry pouzivat hinty (rowlock/nolock...) opet treba vedet, co to znamena a obnasi.

    Potom taky spravny strukturovani transakci.

    To ze zjistis, ze se ti useri navzajem blokujou ti nijak zvlast nepomuze. Bydefault SQLko lock dava na page, takze ses schopen znepristupnit hromadu zaznamu i jedinym query.

    20s je jeste naprosta pohoda. A klidne se ti muzes stat, ze vysledkem tvyho zkoumani bude zjisteni, ze bez zasadni zmeny struktury databaze s tim nic neudelas.

    Jinak samotna akce je IMO spis vec na tema "kdyz je cas" ne? Jestli fakturu udelas ted nebo za hodinu je asi uplne jedno. Takze mozna je resenim i to, proste jen doklad omarkovat "k fakturaci" a vyfakturovat to nekde pres noc.

    ---

    Dete s tim guuglem dopice!

    15.7.2021 16:25 UL
    Rozbalit Rozbalit vše Re: MSSQL profilování
    Jako prvni krok doporucuju First Aid Kit on Brenta Ozara. https://www.brentozar.com/first-aid/

    CLovek dostane prvni nahled na to, kde muze byt problem. Umi to doporucit indexy, najde to nejake nesrovnalosti v konfiguraci, umi to identifikovat dlouho bezici dotazy atd. Moc dobry nastroj.

    Ohledne identifikace problemovych dotazu, ze jednou bezi 0.5s a jednou 20s. Setkal jsem se s tim taky. Jednou 3s jdenou 3 minuty. Je dost mozne, ze ta procedura ma pro urcite parametry neoptimalni exekucni plan (parametr sniffing). Tam muzes skusit pridat do procedury "WITH RECOMPILE" ci nejak potunit indexy. S identifikaci dotazu muze pomoci i Query store. Zkus ho zapnout, par dni sbirat data a pak se podivat na to co to hodi. Hledej dotazy s nejvetsi variabilitou.

    Pokud je ta procedura od dodavatele a ne in-house, reklamoval bych u dodavatele. Je velka pravdepodobnost, ze se s tim uz setkal a mozna vi jak to vyresit.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.