Налаштування оперативної пам’яті для SQL Server та NUMA


10

Тут випадковий адміністратор БД.

Питання:

Ви все ще вручну обмежуєте максимум оперативної пам’яті для SQL Server, хоча єдиною метою цього сервера є лише обслуговування двигуна бази даних SQL Server?

У мене є сервер Microsoft Windows 2012 R2, SQL Server 2012 Std, з 32 ГБ оперативної пам’яті.

Адміністратор постійно входить у систему SQL Server, щоб використовувати його консоль та все.

По-друге, як перевірити, чи цей сервер Windows увімкнено NUMA?

Відповіді:


9

Ви все ще вручну обмежуєте максимум оперативної пам’яті для MSSQL навіть у тому числі, хоча єдиною метою цього сервера є лише обслуговування MSSQL?

Це дебатна тема, враховуючи, що у вас є SQL Server 2012. Якщо ви б задали те саме питання щодо SQL Server 2005/2008, який був на Windows Server 2003/2008, я настійно пропоную встановити максимальний ліміт пам’яті сервера через помилки, які були в операційній системі Windows (2003/2008). Але конфігурація пам’яті та продуктивність ОС значно змінилися від SQL Server 2012 і далі Window Server 2008/2012 r2 і далі відповідно, якщо ви запитаєте мою думку, You can leave max server memory configuration to default if you have enough RAM on system and you are just using database engine features.якщо ви запитаєте інженерів MS про це, вони також би сказали, що SQL Server кодується добре для управління пам’яттю і якщо у вас є система, призначена лише для двигуна баз даних SQL, ви можете залишити макс.

У будь-якому разі, якщо ви все ще хочете налаштувати, ви можете прочитати подібні запитання та відповіді, наведені на цій темі SE

Є ситуації, коли потрібна максимальна пам'ять сервера. Я виклав це в цій темі SE

По-друге, як перевірити, чи цей сервер Windows увімкнено NUMA?

Невеликий пошук призведе вас до цієї статті Blogs.msdn . У ньому є різноманітний живописний опис, коли SQL Server обізнаний з NUMA та використовує його.


2
Мені подобається використовувати таблицю Brent Ozar для швидкого посилання на налаштування пам'яті для загальних випадків використання.
LowlyDBA

3
Це, звичайно, для швидкої довідки і є відправною точкою для значення. Я впевнений, що якщо ви запитаєте його, він би сказав, що вам потрібно додатково переглянути лічильники парфмонів, щоб досягти оптимального значення . Ось чому я додав SE-посилання на випадок, якщо ОП хоче встановити максимальну пам'ять сервера.
Шанкі

2

Про SQL NUMAвідомо, щоб ви могли знайти NUMAінформацію за допомогою запиту. Ви також можете скористатись цим запитом, щоб побачити, скільки у NUMAвас є вузлів, для яких процесорів та ядер призначено NUMA:

SELECT parent_node_id, scheduler_id, cpu_id
FROM sys.dm_os_schedulers WITH (NOLOCK) 
WHERE [status] = N'VISIBLE ONLINE';

Або скільки NUMA:

select COUNT(distinct Parent_node_id)
from sys.dm_os_schedulers
where [STATUS] = 'VISIBLE ONLINE'
    and Parent_node_ID < 64

-2

Так, вам слід обмежити максимальну пам'ять для SQL Server, навіть якщо сервер має лише одне призначення. В іншому випадку SQL Server може почати використовувати пам'ять, для якої Windows повинна добре працювати. Зазвичай, залиште 1 ГБ -> 20% загальної оперативної пам’яті в Windows, залежно від ваших потреб.

Конфігурація сервера NUMA відображається в диспетчері завдань шляхом вибору процесу, клацніть правою кнопкою миші та виберіть Встановити приналежність. Монітор ресурсів Windows також відображає інформацію про NUMA.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.