SQLServer: Vyrovnávací paměť vyrovnávací paměti je dobrým ukazatelem MOŽNÉHO zúžení paměti?

Hledám indikaci (pokud existuje), která by buď ignorovala možnost zúžení paměti, nebo ji přijala, nebo mě přiměla dále vyšetřovat.

například:

Průměrná délka života stránky:

SELECT [object_name], [counter_name], [cntr_value] FROM sys.dm_os_performance_counters WHERE [object_name] LIKE "%Manager%" AND [counter_name] = "Page life expectancy" 

zde zadejte popis obrázku

Při této příležitosti mám v současném prostředí server, který má 8 GB RAM, požádám správu pro více paměti. Věřím, že se jedná o úzké místo paměti.

Co používá RAM by bylo další vyšetřování.

Je tento níže uvedený e-mail platný k identifikaci možných úzkých míst paměti?

musíme se podívat na poměr zásahu do mezipaměti SQLServer: Buffer Cache

Pokud je tento poměr menší než 95%, než je server pod tlakem paměti

Doufám, že to pomůže,

zde zadejte popis obrázku

Komentáře

  • Nevkládejte prosím své návrhy týkající se paměti na Buffer Cache hit ratio . Přečtěte si velkou debatu serveru SQL Server o BCHR , protože na tento pult se nikdy nespoléhám. Můžete se spolehnout na PLE, ale musíte vidět PLE pro všechny uzly NUMA (pokud máte)
  • Hodnota PLE se zdá být mnohem menší, ale ostatní čítače jsou v pořádku. Označili jste otázku dvěma verzemi, mohu vám dát seznam čítačů pro monitorování využití paměti, ale protože se jedná o 2 verze, je to trochu rozdíl. Na jakou verzi se přesně díváte

Odpověď

Musíme se podívat na poměr SQLServer: Buffer Cache Hit. Pokud je tento poměr menší než 95%, než je server pod tlakem paměti

Přestaňte se dívat na Buffer Poměr zásahů do mezipaměti k určení tlaku v paměti. Důvodem je, že s mechanismem čtení dopředu na serveru SQL Server je ve fondu vyrovnávacích pamětí více než dost stránek, které uspokojí dotaz, takže BCHR neposkytuje přesné údaje o tlaku paměti. Můžete dokonce vidět, že BCHR by dokonce neklesl, když je tlak paměti. To vše bylo vysvětleno v Velké debatě serveru SQL o BCHR

Zdá se, že výstup PLE, který jste zveřejnili, je opravdu nízký, ale nemůžeme použít pouze jeden čítač k měřit tlak paměti. PLE je více indikací I / O aktivity na serveru. Je možné, že kvůli silné I / O aktivitě PLE klesl. Pokud si všimnete, že cílová a celková paměť serveru zůstávají stejné. Což je dobré znamení.

Pro Edition upto 2008 R2. Můžete použít níže počítadla

  1. SQLServer: Buffer Manager – CheckpointPages / sec:

  2. SQLServer: Buffer Manager – Memory Grants Čeká na vyřízení:

  3. SQLServer: Správce vyrovnávací paměti – cílová paměť serveru:

  4. SQLServer: Správce vyrovnávací paměti – celková paměť serveru

  5. SQLServer: Správce vyrovnávací paměti – stránky zdarma

  6. SQLServer: Správce vyrovnávací paměti – pozastavení seznamu zdarma / s

  7. SQLServer: Správce vyrovnávací paměti – délka života stránky

Pro SQL Server 2012 onwards několik vyrovnávacích pamětí Počítadla fondů jsou zastaralá, a proto musíme používat čítače Memory Manger

  1. SQL Server: Memory Manager – Target Server Memory (KB)

  2. SQL Server: Správce paměti – Celková paměť serveru (KB)

  3. SQL Server: Správce paměti – volná paměť (KB)

  4. SQL Server: Memory Manager – Database Cache Memory (KB)

  5. SQLServer: Buffer Manager – Free Pages

  6. SQLServer: Buffer Manager – Free List Stall / sec

  7. SQLServer: Správce vyrovnávací paměti – délka života stránky

Všimněte si, že pokud máte velkou aktivitu na disku, nezapomeňte také odkázat na čítače související s diskem. Vytvořte sadu datového kolektoru a nechte jej běžet po dobu 4 až 5 hodin, když je zatížení systému na špičce, a poté do své otázky přidejte snímek datového kolektoru. Pak můžeme určit, zda SQL Server potřebuje více paměti nebo ne.

Osobně 8G má dnes trochu menší RAM vzhledem k pracovní zátěži a požadavkům OS. V zadní části hlavy byste měli vždy myslet na zvýšení RAM.

Odpověď

Musíme se podívat na SQLServer: Buffer Cache Hit ratio

Pokud je tento poměr menší než 95%, než je server pod tlakem paměti

Doufám, že to pomůže,

Toto není řešení, které vám jistě pomůže při rozhodování o úzkém hrdle paměti. Raději bych raději shromáždil data pro pod přepážky alespoň jeden den během velkého zatížení / pracovní doby.

Memory – Available MBytes SQLServer: Buffer Manager – Page Life Expectancy SQLServer: Memory Manager – Memory Grants Pending SQLServer: Memory Manager – Target Server Memory SQLServer: Memory Manager – Total Server Memory SQLServer: SQL Statistics – Batch Requests/sec SQLServer: SQL Statistics – Compilations/sec 

Nejlepší by byl Baseline serveru SQL, jak je navrženo Zpět na základy: Zachycení základních hodnot v produkčním SQL Servery , které budou také shromažďovat požadované čítače perfmonů spolu se statistikami čekání na jakýkoli problém.

Také 8 GB RAM nemusí být tak vhodné, jako je tomu v dnešní době, ale opět záleží na tom, co je zatížení systému spolu s velikostí databází hostovaných v instancích \ instance.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *