Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замедление после дефрагментации индексов / 25 сообщений из 31, страница 1 из 2
11.12.2018, 10:50
    #39745818
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Добрый день.

Есть сервер MS SQL 20016 SP2 с несколькими базами данных, где дефрагментации индексов не проводилось долго.
В основных таблицах доходит до 45-50%. Я настроил средствами SSMS management план обслуживания для индексов вида:
перестроение индекса (свободное место не изменяет, индексы онлайн по возможности, maxdop не меняет. приоритет низкий, быстрое сканирование, срабатывает при 30+ фрагментации и больше 1000 страниц), потом реорганизация индекса (сжатие больших объектов, быстрое сканирование, 10+ фрагментация и 1000 страниц), последнее действие обновление статистики.

Джоб запустился один раз на выходные. А в понедельник начались жалобы на увеличение времени отработки запросов, некоторые джобы разработчиков в 5-10 раз дольше выполнялись. Основная видимая причина - нагрузка на ЦПУ начала стабильно уходить в 100%.

Базы аналитики, потеря данных устраивала и базы восстановили на время до выходных. Запросы опять отрабатывают нормально.

Полной уверенности в причинах, скорее всего, получить не удастся. Восстановить работоспособность требовалось быстро и возможности углубленно проверить счетчики мониторинга и "погонять" проблемные запросы не было. На нескольких базах было включено хранилище запросов и в регрессивных запросах можно было увидеть резкий скачёк времени выполнения при одном и том же плане.

Сейчас меня интересует может ли реально быть проблема от дефрагментации индексов, что вызывает и как избежать.

Пока видел только упоминание об увеличении времени до первого обновления статистики. Статистику обновлял - не помогло.
Либо вариант с изменением свободного места для страницы и MAXDOP, но тоже не мой вариант.
...
Рейтинг: 0 / 0
11.12.2018, 12:26
    #39745909
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
вот это вот поясните, плиз:
авторпотом реорганизация индекса (сжатие больших объектов, быстрое сканирование, 10+ фрагментация и 1000 страниц)
реорг ничего не сжимает.
сжимает компрессия, но это не реорг, а ребилд,
и главное, блобы как раз и не сжимаются.

в общем, если вы пожали данные, сделав rebuild with data_compression,
то не надо удивляться, что запросы теперь CPU выкушивают
...
Рейтинг: 0 / 0
11.12.2018, 12:51
    #39745937
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Yasha123,
Сжатие больших объектов - название на русском внутри проектировщика планов.
Так это - compact large objects. Данный пункт именно в reorganize, не в rebuild. Включен по умолчанию и рекомендаций его отключать я не видел.
...
Рейтинг: 0 / 0
11.12.2018, 13:04
    #39745952
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Danion
Сейчас меня интересует может ли реально быть проблема от дефрагментации индексов, что вызывает и как избежать.


проблемы у вас от изменившихся планов выполнения, полагаю
индексы перестроены, статистики перестроены, оптимизатор решил посканировать таблицы

если autoupdate/autocreate статистики на базе выключен, то может быть подобный эффект
...
Рейтинг: 0 / 0
11.12.2018, 13:07
    #39745956
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
нет, compact large objects это совсем другое.
реорг это делает по умолчанию,
но это НЕ компрессия,
ничего не сжимается, просто высвобождаются пустые страницы.
это никак не повлияет на дальнейшее чтение, разве только в лучшую сторону
...
Рейтинг: 0 / 0
11.12.2018, 13:09
    #39745962
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
komradоптимизатор решил посканировать таблицы

но ведь если "решил посканировать", то IO подскочит, а не CPU
...
Рейтинг: 0 / 0
11.12.2018, 13:19
    #39745968
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Yasha123komradоптимизатор решил посканировать таблицы

но ведь если "решил посканировать", то IO подскочит, а не CPU
+ параллелизм вестимо


Danion,
покажите результат

Код: sql
1.
select * from sys.configurations
...
Рейтинг: 0 / 0
11.12.2018, 13:24
    #39745976
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
komrad,

То есть раньше параллелизма не было, а после переиндексации выскочил? Я скорее поверю в перерасчет статистик. Но это кратковременно должно быть, несколько часов от силы.
...
Рейтинг: 0 / 0
11.12.2018, 13:41
    #39745986
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
DanionДобрый день.

Есть сервер MS SQL 20016 SP2 с несколькими базами данных, где дефрагментации индексов не проводилось долго .
последнее действие обновление статистики .

Джоб запустился один раз на выходные. А в понедельник начались жалобы на увеличение времени отработки запросов, некоторые джобы разработчиков в 5-10 раз дольше выполнялись. Основная видимая причина - нагрузка на ЦПУ начала стабильно уходить в 100%.

Статистику обновлял - не помогло .


У Вас был loop join из-за давно непересчитываемой статистики, а теперь hash join с полным сканированием крупных таблиц. Раньше нагрузка ложилась при merge join на tempdb, сейчас не хватает ядер на процессорах.

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

И начните с того, что напишите сюда количество ядер и процессоров, тактовую частоту, модель процессоров. И что установлено в maxdop для всего инстанса MSSQL.
...
Рейтинг: 0 / 0
11.12.2018, 15:21
    #39746091
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
komrad,

При возникновении проблем запускал обновление статистики для пользовательских баз. Лучше не стало.

Max Degree of parallelism - 0. Это, насколько я помню, без ограничений. Но с чего бы внезапно начало плодить лишний параллелизм для загрузки ЦПУ?
...
Рейтинг: 0 / 0
11.12.2018, 15:21
    #39746092
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Вторая часть
...
Рейтинг: 0 / 0
11.12.2018, 15:32
    #39746105
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Danionkomrad,

При возникновении проблем запускал обновление статистики для пользовательских баз. Лучше не стало.

статистику можно обновлять по-разному
самая точная и долгая - fullscan

DanionMax Degree of parallelism - 0. Это, насколько я помню, без ограничений. Но с чего бы внезапно начало плодить лишний параллелизм для загрузки ЦПУ?
см коммент от Andy_Olap, очень вероятно
...
Рейтинг: 0 / 0
11.12.2018, 15:35
    #39746107
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Конечно вариант, что там сами разрабы успели наваять отбрасывать нельзя. Но интересуют возможные проблемы со стороны СУБД, не хочется встретить проблему на основном продуктиве после моего плана обслуживания.

Andy_OLAP,
"У Вас был loop join из-за давно непересчитываемой статистики, а теперь hash join с полным сканированием крупных таблиц. Раньше нагрузка ложилась при merge join на tempdb, сейчас не хватает ядер на процессорах."
Версия интересная, нужно обновить знания по теме.
"Проверяйте охлаждение на процессорах, терпопасту под кулерами, проверяйте профиль электропитания, чтобы была максимальная производительность вместо сбалансированной."
Виртуальная машина, сам сервер в ЦОД. Выдано ей 15 процов, 2,20 ГГЦ.
...
Рейтинг: 0 / 0
11.12.2018, 15:42
    #39746113
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Danion,

вот это еще покажите

Код: sql
1.
select * from [DB].sys.database_scoped_configurations



DB - ваша база
...
Рейтинг: 0 / 0
11.12.2018, 16:01
    #39746133
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Danion,

Вы случайно не загоняли fill factor к 100%. Если да, то это всё объясняет.
...
Рейтинг: 0 / 0
11.12.2018, 16:09
    #39746143
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
a_voronin,

сплит страниц аццки нагружает CPU по-вашему? У меня в базе все таблицы 100% заполнение имеют и нагрузка не выше 20% в плохую погоду.
...
Рейтинг: 0 / 0
11.12.2018, 16:12
    #39746146
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
a_voroninDanion,

Вы случайно не загоняли fill factor к 100%. Если да, то это всё объясняет.
Вы думаете, что автор темы вместо дефолтного "reorganize pages" выбрал "change free space" как на картинке ? И выкрутил его на 0, получив fill factor 100?
...
Рейтинг: 0 / 0
11.12.2018, 16:13
    #39746149
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Обратите внимание, что у комрада виртуалка. А там уже какую гайку админ подкрутит.
...
Рейтинг: 0 / 0
11.12.2018, 16:16
    #39746151
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
a_voronin,

Думал об этом варианте, в sys.configuration min - 0, max - 100%.
Но опция в плане обслуживания default free space per page вроде оставляет то, что было задано при создании индекса.

komrad,
...
Рейтинг: 0 / 0
11.12.2018, 16:26
    #39746163
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
На поддержку передали несколько серверов. Разворачивал и первоначально настраивал их не я, пока стараюсь менять настройки по минимуму. Хорошо, что мной же настроенные бекапы успели пройти. Только начал приводить сервера в адекватных вид и тут такой сюрприз.

Andy_OLAP,
Честно говоря, не очень помню информацию по loop join и hash join. Как освобожусь немного буду перечитывать по ним.
У меня есть бекапы до дефрагментации индексов и на дату, когда проблемы начались. При развертывании на тестовом сервере примерно повторить проблему и сравнить настройки удастся или тут привязка именно к тому серверу?
...
Рейтинг: 0 / 0
11.12.2018, 16:30
    #39746167
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
DanionНа поддержку передали несколько серверов. Разворачивал и первоначально настраивал их не я, пока стараюсь менять настройки по минимуму. Хорошо, что мной же настроенные бекапы успели пройти. Только начал приводить сервера в адекватных вид и тут такой сюрприз.

Andy_OLAP,
Честно говоря, не очень помню информацию по loop join и hash join. Как освобожусь немного буду перечитывать по ним.
У меня есть бекапы до дефрагментации индексов и на дату, когда проблемы начались. При развертывании на тестовом сервере примерно повторить проблему и сравнить настройки удастся или тут привязка именно к тому серверу?
Берете разработчика, который говорит "с понедельника вот такой селект стал работать в 10 раз медленнее".
Берете бэкап до дефрагментации и разворачиваете на любом тестовом сервере. Запускаете селект. Записывает полученный план и время выполнения. Запускаете дефрагментацию по примеру на боевом сервере. Ждете завершения. Запускаете селект. Аналогично. Далее на всякий случай разворачиваете бэкап после дефрагментации с боевого сервера на дату, когда начались проблемы. Запускаете селект. Аналогично.

Затем с полученной информацией идете к разработчику, который умеет читать план выполнения запросов, садитесь рядом и долго думаете, раздирая свои одежды и посыпая голову пеплом.
...
Рейтинг: 0 / 0
11.12.2018, 16:31
    #39746168
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Danion,

Чтобы все было кошерно - тестовый сервер во время опытов не нагружаете больше ничем.
...
Рейтинг: 0 / 0
11.12.2018, 16:46
    #39746179
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Andy_OLAP,
Спасибо за ссылку на статью по join.

Попробую по тестировать.
При изменении join план запроса должен же меняться?

На базе было запущено хранилище информации, немного успел посмотреть пока "бегали вокруг с криками чините быстрее", но для точного определения мало инфы.
После восстановления на тесте подобрее посмотрю, что собрано.

с 7 на 8 прошел план обслуживания, по графику регрессивных запросов план запроса при этом не менялся.
...
Рейтинг: 0 / 0
11.12.2018, 16:47
    #39746180
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Andy_OLAPБерете бэкап до дефрагментации и разворачиваете на любом тестовом сервере. Запускаете селект. Записывает полученный план и время выполнения.

должны быть сходные параметры "железа" и настройка версия сиквела
иначе, "быстрый" план может не сгенериться

если получили таки его, попробуйте пришпилить с помощью query data store, и перестроив индекы проверить производительность с форсированным "быстрым" планом и свежесгенеренным новым
...
Рейтинг: 0 / 0
11.12.2018, 16:58
    #39746188
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление после дефрагментации индексов
Спасибо всем за ответы.

Если верна версия Andy_OLAP, то со временем статистика обновится и сама по принципу "По умолчанию оптимизатор запросов обновляет статистику по мере необходимости для усовершенствования плана запроса" и похожее опять возникнет?

И кто разбирается в ошибках системных таблиц пользовательских БД - просьба подсказать в моей же теме
https://www.sql.ru/forum/1306487/oshibka-pri-checkdb

Заранее спасибо.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замедление после дефрагментации индексов / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]