Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
В общем достался мне тут один сервер, первым делом посмотреть wait_statistics и Latch, и там интересная картина CXPACKET лидирует с огромным отрывом, на 2 месте PAGEIOLATCH_*, потом LATCH_*, SOS_SHEDULER_YELD на 5, если посмотреть латчи считай на первом месте ACCESS_METHODS_DATASET_PARENT.
Также приложение закидывает сервер непарамитизироваными запросами, кэш забит одинаковыми планами, а разница между Auto-Param Attempts и Failed Auto Param 2:1. Но здесь скорее всего включу optimize for ad hoc workloads.
По счетчиком, проц загружен наполовину, PLE 880 (мало, 24 гига всего на сервере), Lazy Writes = 0, Buffer Cache Hat Ration = 99.98. С диском тоже проблем нету.
Нагрузка на сервер можно сказать OLTP, стоимость запроса хоть и высокая, но выполняются они быстро и в секунду их может несколько десятков быть. Что лучше в таком случае увеличить cost threshold.. или уменьшить max degree?
16 янв 17, 10:58    [20109377]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
aleksrov,

Забыл, 2008 R2 (SP3)
16 янв 17, 10:59    [20109387]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
aleksrov,

ну CXPACKET на первом месте вообще обычная ситуация. cost threshold for parallelism можете действительно увеличивать до 25-30 для начала. optimize for ad hoc workloads в вашем случае ничего не поменяет, и раз нет проблемы с размерами пула то зачем лечить
16 янв 17, 11:07    [20109444]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
TaPaK
aleksrov,

ну CXPACKET на первом месте вообще обычная ситуация. cost threshold for parallelism можете действительно увеличивать до 25-30 для начала. optimize for ad hoc workloads в вашем случае ничего не поменяет, и раз нет проблемы с размерами пула то зачем лечить


Ну почему же ничего не ришит, одинаковые по своей сути планы будут меньше занимать места в кэше, тем самым оставляя место под действительно нужные планы.
Эти данные это обычный режим работы, пару раз в месяц на несколько дней бывают очень серьезные нагрузки, и в это время хорошо бы чтобы эти планы хотя бы меньше места занимали.
16 янв 17, 11:14    [20109487]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
optimize for ad hoc workloads не из той оперы и Вам никак не поможет.
Включите для базы настройку Параметризация Принудительная . Но при этом потеряете возможность работы с фильтрованными индексами, например.
16 янв 17, 11:14    [20109492]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
одинаковые по своей сути планы будут меньше занимать места в кэше
что за вывод такой??
16 янв 17, 11:16    [20109504]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
TaPaK
одинаковые по своей сути планы будут меньше занимать места в кэше
что за вывод такой??


Параметр optimize for ad hoc workloads используется для повышения эффективности кэширования планов рабочих нагрузок, содержащих много отдельных нерегламентированных пакетов. Если этот параметр имеет значение 1, компонент Компонент Database Engine при первой компиляции пакета сохраняет в кэше планов небольшую скомпилированную заглушку плана, а не полный откомпилированный план. Это несколько снижает требования к памяти, так как кэш планов не заполняется скомпилированными, не используемыми повторно планами.
https://msdn.microsoft.com/ru-ru/library/cc645587.aspx
16 янв 17, 11:19    [20109519]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
aleksrov,

так вывод что занимать меньше будут откуда?
16 янв 17, 11:20    [20109526]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Владислав Колосов
optimize for ad hoc workloads не из той оперы и Вам никак не поможет.
Включите для базы настройку Параметризация Принудительная . Но при этом потеряете возможность работы с фильтрованными индексами, например.


Хотел ее включить, но начальству показалось что это может все сломать, написал разрабам, пока молчат (с их одобрения разрешат).
16 янв 17, 11:22    [20109533]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
TaPaK
aleksrov,

так вывод что занимать меньше будут откуда?


Перечитал что написал, немного не так выразился, как сказано выше "Это несколько снижает требования к памяти"
16 янв 17, 11:24    [20109541]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
cost threshold for parallelism поменял до 20.
16 янв 17, 11:25    [20109552]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
aleksrov
TaPaK
aleksrov,

так вывод что занимать меньше будут откуда?


Перечитал что написал, немного не так выразился, как сказано выше "Это несколько снижает требования к памяти"

нет проблемы с пулом, зачем вы хотите менять?
и вообще картина такая, что дал сервер, а давайте я бурную деятельность затею, а то CXPACKET большой
16 янв 17, 11:26    [20109566]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
aleksrov,

ничего не сломает. Для большого количества AD HOC увеличит повторное использование планов, сократит расходы на компиляцию и кэширование.
Если, как Вы пишете, большое количество разнообразных непараметризованных запросов, то это Вам также не поможет, но и optimize for ad hoc workloads большой роли не сыграет, если запрос приходит более одного раза.
16 янв 17, 11:28    [20109579]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
TaPaK
aleksrov
пропущено...


Перечитал что написал, немного не так выразился, как сказано выше "Это несколько снижает требования к памяти"

нет проблемы с пулом, зачем вы хотите менять?
и вообще картина такая, что дал сервер, а давайте я бурную деятельность затею, а то CXPACKET большой


Как я писал выше, бывают пики, там народ говрит что вроде как медленней чем обычно все работает (во время пика еще не мониторил), уверен что это так, нагрузка увеличивается на порядок. Так почему бы не улучшить там где можно?
16 янв 17, 11:31    [20109610]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Владислав Колосов
aleksrov,

ничего не сломает. Для большого количества AD HOC увеличит повторное использование планов, сократит расходы на компиляцию и кэширование.
Если, как Вы пишете, большое количество разнообразных непараметризованных запросов, то это Вам также не поможет, но и optimize for ad hoc workloads большой роли не сыграет, если запрос приходит более одного раза.


Да я то знаю что не сломает, а начальство нет.
Я знаю что дедает AD HOC, в том и дело что в кеэше сейчас 40 планов одного запроса, отличается только ID в where, все использованы 1 раз.
16 янв 17, 11:34    [20109633]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
aleksrov
TaPaK
пропущено...

нет проблемы с пулом, зачем вы хотите менять?
и вообще картина такая, что дал сервер, а давайте я бурную деятельность затею, а то CXPACKET большой


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

так а что вы улучшили? попугаев срабатывания параллелизма увеличили - возможно что-то станет медленнее. op for adhoc вообще ничего не изменит. Не верьте народу, смотрите что не так
16 янв 17, 11:35    [20109640]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
TaPaK
aleksrov
пропущено...


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

так а что вы улучшили? попугаев срабатывания параллелизма увеличили - возможно что-то станет медленнее. op for adhoc вообще ничего не изменит. Не верьте народу, смотрите что не так


В конце недели пик будет, там и посмотрю.
16 янв 17, 11:37    [20109665]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
aleksrov
cost threshold for parallelism поменял до 20.


Max Degree of Parallelism устанавливается опытным путём исходя из скорости выполнения запроса, хотя MS рекомендует настройку "по умолчанию" для max cpu count up to 64.
16 янв 17, 11:48    [20109733]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Владислав Колосов
aleksrov
cost threshold for parallelism поменял до 20.


Max Degree of Parallelism устанавливается опытным путём исходя из скорости выполнения запроса, хотя MS рекомендует настройку "по умолчанию" для max cpu count up to 64.

а одно к другому как?
16 янв 17, 11:50    [20109742]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
aleksrov,

причем здесь начальство? Оно более компетентно в вопросах администрирования? Или не получило конкретную информацию о рисках?
16 янв 17, 11:55    [20109768]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Владислав Колосов
aleksrov,

причем здесь начальство? Оно более компетентно в вопросах администрирования? Или не получило конкретную информацию о рисках?


Работает это так. Я хочу поменять какую то настройку на сервере, говорю начальнику (без него незя, правила), он гуглит, если находит что то не то, говорит пиши разрабам и ниче не меняй.
Я как то поменял код хранимки, там дедлоки валились, потом случайно об этом обмолвился, дедлоки перестали появляться, мне пришлось поменять обратно, писать разрабам, они дали разрешение, и я вернул свои изменения.
16 янв 17, 12:01    [20109801]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
пьяный тюлень
Member

Откуда:
Сообщений: 100
напишите разрабам, пусть параметризуют запросы
16 янв 17, 12:45    [20110005]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
aleksrov
Member

Откуда:
Сообщений: 948
пьяный тюлень
напишите разрабам, пусть параметризуют запросы


Да вы оптимист. Одно дело поменять одну настройку на одном сервере, а другое, изменить все ПО которым пользуемся не только мы. Да, оно корявое, чего блин стоит только фишка что когда вы жмете определенную комбинацию клавиш то входите в систему под админом, причем эту инфу можно спокойно найти если порыться как следует.
16 янв 17, 12:53    [20110028]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
пьяный тюлень
Member

Откуда:
Сообщений: 100
aleksrov
пьяный тюлень
напишите разрабам, пусть параметризуют запросы

Да вы оптимист. Одно дело поменять одну настройку на одном сервере, а другое, изменить все ПО которым пользуемся не только мы. Да, оно корявое, чего блин стоит только фишка что когда вы жмете определенную комбинацию клавиш то входите в систему под админом, причем эту инфу можно спокойно найти если порыться как следует.

а когда они взвоют, предложите включить принудительную параметризацию
16 янв 17, 14:24    [20110465]     Ответить | Цитировать Сообщить модератору
 Re: Inappropriate parallelism. увеличиваем cost threshold.. или уменьшаем max degree..  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
пьяный тюлень
aleksrov
пропущено...

Да вы оптимист. Одно дело поменять одну настройку на одном сервере, а другое, изменить все ПО которым пользуемся не только мы. Да, оно корявое, чего блин стоит только фишка что когда вы жмете определенную комбинацию клавиш то входите в систему под админом, причем эту инфу можно спокойно найти если порыться как следует.

а когда они взвоют, предложите включить принудительную параметризацию

а когда начнут бить отключите параметризацию и все вам спасибо скажут
16 янв 17, 14:31    [20110493]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить