Может ли продолжительность жизни страниц SQL Server быть слишком высокой?

8

Я прочитал несколько статей об ожидаемой продолжительности жизни страниц SQL Server и о том, что она означает, и какую информацию вы можете извлечь из нее. В большинстве этих статей, которые я читал, общее, здоровое значение PLE составляет где-то 1000-2000 секунд. Я читал, что сокращение до 300 секунд может означать, что у вас, скорее всего, мало оперативной памяти.

Недавно я только что обновил наше оборудование, чтобы иметь 64 ГБ ОЗУ, а не 14 ГБ. На 14 ГБ мой PLE был около 300 секунд, и у меня было много 5-6 запросов памяти в секунду. Итак, это было плохо, и я увеличил объем оперативной памяти. Теперь мой PLE намного, намного выше, около 5000 секунд, и больше не ожидает выдачи памяти. Я видел это 7000 секунд, если я помню. Это намного выше, чем все, что я читал.

Может ли высокий PLE быть плохой вещью? Или чем выше, тем лучше?

РЕДАКТИРОВАТЬ: Извините, мой PLE не было 7000 секунд, это было 70000 секунд! Хотя, в настоящее время он составляет около 7000.

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

  • Размер базы данных составляет около 160 ГБ. Несколько таблиц имеют более 5 миллионов строк.
  • max_server_memory установлен на 2147483647.
Райан
источник
Я бы просто сказал, что не о чем беспокоиться. Это счастливая система
Shanky

Ответы:

15

Нет , я не могу вспомнить ни одной ситуации или теории в моей голове, которая могла бы проиллюстрировать отрицательный побочный эффект для астрономически высокого PLE ( разве вам не нравится жужжащий звук пластин в жестком диске? ).

Поскольку память становится все дешевле и дешевле, а покупатели оборудования становятся все более щедрыми, эти большие блоки памяти, как мы видим, довольно часто имеют PLE в диапазоне от тысячи до тысяч. Это просто один из признаков того, что ваш экземпляр не может быть под давлением памяти. Возьми его таким, какой он есть, и только этим.

Ожидаемая продолжительность жизни страницы - это всего лишь оценка того, как SQL Server рассчитывает, как долго страница будет храниться в буфере. Это способ SQL Server сказать, что он думает, что это будет "некоторое время" .

Еще одно замечание: примите совет Пола Рэндала и не концентрируйтесь на PLE, о котором сообщает менеджер буфера . Как и все средние, менеджер буфера может скрывать разные PLE . Вы хотите просмотреть все PLE отдельных узлов NUMA с помощью счетчика Buffer Node :

Get-Counter -ListSet "*" | 
    Select-Object -ExpandProperty Counter | 
    Where-Object {$_ -like "*buffer node*page life expectancy*"} | 
    Get-Counter

Продолжительность жизни страницы - просто один цвет в красивой картине, которая является памятью SQL Server. Посмотрите на это вместе с другими «цветами» (целевая / общая память сервера, доступные мегабайты и т. Д.). Слишком часто люди смотрят на одну простую метрику и боятся, что их сервер может взорваться или, наоборот, он будет жить неуправляемыми веками.

Томас Стрингер
источник
2
Том опередил меня - кроме того, я хотел бы добавить, что это «не обязательно» означает, что SQL Server испытывает недостаток памяти - но рабочая нагрузка не эффективно использует пул буферов и может захотеть быть настроенной или изменилось.
Шон Галларди - Пенсионер
Я нашел значение , которые являются астрономический высокими и выглядит как их просто неправильно: dba.stackexchange.com/questions/119405/...
Magier