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"
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,
Komentáře
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
-
SQLServer: Buffer Manager – CheckpointPages / sec:
-
SQLServer: Buffer Manager – Memory Grants Čeká na vyřízení:
-
SQLServer: Správce vyrovnávací paměti – cílová paměť serveru:
-
SQLServer: Správce vyrovnávací paměti – celková paměť serveru
-
SQLServer: Správce vyrovnávací paměti – stránky zdarma
-
SQLServer: Správce vyrovnávací paměti – pozastavení seznamu zdarma / s
-
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
-
SQL Server: Memory Manager – Target Server Memory (KB)
-
SQL Server: Správce paměti – Celková paměť serveru (KB)
-
SQL Server: Správce paměti – volná paměť (KB)
-
SQL Server: Memory Manager – Database Cache Memory (KB)
-
SQLServer: Buffer Manager – Free Pages
-
SQLServer: Buffer Manager – Free List Stall / sec
-
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.
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)