it-swarm-eu.dev

Příčiny I / O vysoké vyrovnávací paměti SQL Server 2008 R2

Snažím se řešit výkon na serveru SQL, který máme pro náš server pro správu dokumentů, a dnes výkon dosáhl rekordně nízkých hodnot.

Při pohledu na Management Data Warehouse (MDW), který jsem nedávno nastavil, vidím v I/O bufferu obrovský nárůst. Kombinovaná čekací doba SQL je v oblasti 1500-2000 ms, což je výrazně vyšší než obvykle (kolem 500 ms). Velká část tohoto zvýšení je I/O vyrovnávací paměti.

Nebýt DBA a dělat to z nutnosti, jsem masivně mimo svou hloubku.

Existuje nějaký způsob, jak zjistit, proč došlo k velkému nárůstu I/O bufferů? Je to pravděpodobně způsobeno dotazem tažením velkého množství dat nebo nesprávnou konfigurací limitů paměti serveru SQL? Existuje něco konkrétního (nebo v této věci obecné), na které bych se měl dívat, nebo DMV, na které mohu požádat o pomoc při řešení problémů?

Server je SQL Server 2008 R2. Jedná se o VM spuštěný dva vCPU a 8GB RAM) s disky hostovanými v samostatném poli v síti SAN.

enter image description here

Všechny výše uvedené grafy byly generovány pomocí SQL Server Management Data Warehouse .

8
Tim Alexander

Pokud se podíváte pozorně na graf čekání, barevné pruhy skutečně označují čekání na zámek, nikoli čekání na I/O.

I/O graf také ukazuje zvýšené systémové využití disku, nikoli SQL Server využití disku.

Vzhledem k tomu, že graf paměti se blíží velikosti vaší systémové paměti s rostoucím využíváním systému v čase, věřím, že vaše instance je nadřazená pro aktuální nastavení maximální paměti serveru (nebo nastavení maximální paměti serveru není vůbec nastaveno) a jedno nebo více paměťových fondů serveru SQL se vyměňuje na disk.

Řešením je snížit maximální nastavení paměti serveru (nebo nastavit na odpovídající hodnotu, pokud není nastaveno). Podívejte se prosím na mou odpověď zde pro podrobnější odpověď z podobného scénáře a můj blogový příspěvek:

Je paměť mého serveru SQL přetížená?

9
Jon Seigel