Низкое PLE на узле NUMA 000, высокое на 001

10

Я смотрю на PLE (продолжительность жизни страницы) через узлы NUMA на наших серверах SQL, и наткнулся на довольно странное распределение. Узел NUMA 000 имеет очень низкое PLE по сравнению с 001. Я не уверен, почему это так. Я проверил на нескольких других серверах SQL в нашей среде, и другие производственные серверы не имеют такого поведения.

Система работает под управлением SQL Server 2012 Enterprise Edition на Dell m620 с оперативной памятью 256 ГБ. Это 2-сокетная, 6-ядерная (с поддержкой HT) машина. MAXDOP установлен на 6. Модули памяти AFAIK установлены равномерно по банкам памяти процессоров.

Что-то подсказывает мне, что у узла NUMA 000 есть другие задачи SQL, которые нужно выполнять, другие узлы, но я забыл, где я слышал / видел это.

введите описание изображения здесь

введите описание изображения здесь

Изображение PLE

@@Version показывает: Microsoft SQL Server 2012 (SP1) - 11.0.3412.0 (X64)

Каспер Бранденбург
источник
2
PLE сама по себе мало что говорит. Есть больше счетчиков, таких как Buffer Node и Memory Node, которые могут пролить немного больше света. И в конечном итоге: есть ли проблема с производительностью, или это просто любопытство? Как анализировать производительность SQL Server
Ремус Русану
@RemusRusanu: Если у нас есть проблемы с производительностью, никто не знает :), я спрашиваю просто из интереса.
Каспер Бранденбург
Если вы видите счетчик, stolen nodes memory KBего значение составляет 97G, что является очень высоким значением IMO. Украденная память - это память, используемая не для целей базы данных, а для SQL Server для таких операций, как сортировка, хеширование и другие разные цели. С другой стороны, цель и общая память одинаковы. Это кажется странным. Вы должны применить SP2, но я чувствую, что PLE может быть неправильно рассчитан
Shanky
Хорошо. Мы могли бы визуализировать SQL2014 вместо установки SP2
Каспер Бранденбург

Ответы:

1

Если у вас есть запрос с интенсивным чтением, выполняющийся на одном узле NUMA (в данном случае 0), он может иметь меньшую ожидаемую продолжительность жизни страницы по сравнению с другими узлами NUMA.

Это совершенно нормально.

Чтобы увидеть, какие запросы выполняются прямо сейчас, вы можете использовать отличный sp_WhoIsActive Адама Мачаника . Это абсолютно бесплатно. Некоторые люди даже запускают его каждые X минут и записывают данные в таблицу, чтобы они могли вернуться назад, чтобы посмотреть, что работало в то время, когда PLE пикировался.

Брент Озар
источник
-1

Мое понимание архитектуры NUMA заключается в том, что каждый узел в значительной степени изолирует себя. В этом случае они могли бы сделать совсем другую работу. Например, 0 может выполнять запросы, требующие большого количества физического ввода-вывода, в то время как 1 везет и находит все свои данные в пуле буферов.

SQL Nerd
источник