Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Query Store / 24 сообщений из 24, страница 1 из 1
30.08.2019, 05:19
    #39855409
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Неоднократно сталкивался, что Query Store (QS) серьезно переходит лимит по размеру. Скажем установленно 2Гб, а он в легкую разбухает до 5Гб. И вроде бы ничего страшного если бы после этого он не начинал чиститься ну очень долго (и как обычно не во время). И при этом потребляет до 30-50% CPU.
И самое противное, что этот процесс не остановить, т.к. чистка происходит под системыми сессиями (<50) и убивать такую сессию как то не с руки. В течение этого процесса (если точнее сам процесс чистки состоит из нескольких подпроцессов, тут четкости от Майрософта нет) что либо (к примеру перевод в оффлайн или удаление всех данных) сделать с QS не возможно, блокируется.

У кого-либо есть инфа почему лимит размера не соблюдается строго?

Версия: 13.0.5337.0.
...
Рейтинг: 0 / 0
30.08.2019, 07:56
    #39855423
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Idol_111,

SIZE_BASED_CLEANUP_MODE
Определяет, будет ли автоматически активирована очистка, когда общий объем данных приблизится к верхней границе ограничения. Может иметь значение AUTO (по умолчанию) или OFF.
...
Рейтинг: 0 / 0
02.09.2019, 00:14
    #39856142
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Критик,

я не совсем понял, что вы хотели сказать. Если Вы спрашиваете в каком режиме у меня работает QS, то это AUTO в большинстве случаев.
Прочитайте внимательно мой топик.
...
Рейтинг: 0 / 0
02.09.2019, 00:21
    #39856143
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Это конечно, лишь мои предположения, но считаю нужным поделиться.

Похоже, что чистка начинает сбоить, когда совпадают два вида чистки: по размеру и по дате.
Сам процесс чистки состоит (это лишь мои догадки, т.к. документации/инфы на эту тему ноль) из нескольких подпроцессов. И при определенных условиях один тип чистки блокирует другой на довольно продолжительное время (часы).
...
Рейтинг: 0 / 0
02.09.2019, 02:08
    #39856151
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
единственное что смог найти близкое на эту тему.
...
Рейтинг: 0 / 0
05.09.2019, 01:22
    #39857645
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Неплохая статья по теме топика с полезными ссылками.
И не большая дискуссия в комментариях, проливащая свет на многие вопросы по топику.
...
Рейтинг: 0 / 0
05.09.2019, 05:11
    #39857663
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Idol_111,

Я намекнул, что авточистку можно отключить
...
Рейтинг: 0 / 0
22.11.2019, 09:39
    #39892683
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Включена авто очистка, срок хранения 3 дня. Но за 2 дня забиваются выделенные 10 ГБ и переходит в режим Read Only.
В отчётах данных старше 3 дней нет, но и свежих (после первого достижения максимального размера) тоже нет. Чем забивается место при очистке данных старше 3 дней не ясно.
Версия 17 CU17 Enterprise.
Ещё раздражает, что при изменении параметров вешает цепочки блокировок.

Кто-то сталкивался с подобным?
...
Рейтинг: 0 / 0
22.11.2019, 13:15
    #39892844
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
В 2016/17 QDS - это зло, если есть возможность не использовать - не используйте. Его клинит с другими "чёрными ящиками" - FTS, AO, CDC... Если пришлось включать, под хранение выделяйте место с огроменным запасом, ну, скажем гигов 100, храните же минимум дней, плюс повключаейте все те настройки и флаги, что нагуглите...
В общем, это один из элементов экстрима в головах разработчиков скуля :( ...хотя наживка очень на вид заманчивая...
...
Рейтинг: 0 / 0
22.11.2019, 14:00
    #39892905
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
У меня он по кругу тоже не работал, после заполнения переходил в состояние остановки сбора. Может настройки какие поковырять...
...
Рейтинг: 0 / 0
22.11.2019, 14:27
    #39892931
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Жаль конечно, возможности у него интересно расписаны и пару дней нормально то работает. Для кривых запросов, которые пока поправить нельзя - опция force plan помогает выбрать хотя бы более удачный план.
А вот гигантские размеры при его возможности вешать блокировки на пользовательские запросы (при изменении параметров или обнулении истории) я не рискну ставить. Он сейчас при 10 ГБ висит минуты 2 намертво, а при 100 ГБ...
...
Рейтинг: 0 / 0
25.11.2019, 01:00
    #39893713
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Danion
Жаль конечно, возможности у него интересно расписаны и пару дней нормально то работает. Для кривых запросов, которые пока поправить нельзя - опция force plan помогает выбрать хотя бы более удачный план.
А вот гигантские размеры при его возможности вешать блокировки на пользовательские запросы (при изменении параметров или обнулении истории) я не рискну ставить. Он сейчас при 10 ГБ висит минуты 2 намертво, а при 100 ГБ...

Вы статьи, которые я дал, и комментарии к ним читали?
Там все описанно про блокировки и как их избежать.
...
Рейтинг: 0 / 0
25.11.2019, 01:22
    #39893715
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Александр Гладченко
В 2016/17 QDS - это зло, если есть возможность не использовать - не используйте. Его клинит с другими "чёрными ящиками" - FTS, AO, CDC... Если пришлось включать, под хранение выделяйте место с огроменным запасом, ну, скажем гигов 100, храните же минимум дней, плюс повключаейте все те настройки и флаги, что нагуглите...
В общем, это один из элементов экстрима в головах разработчиков скуля :( ...хотя наживка очень на вид заманчивая...

Не согласен. В слепую ставить конечно нельзя, но вещь крайне эффективная.

Как везде и написанно, наиболее опасно ставить где куча запросов ad-hoc.
Нельзя доводить систему до состояния, когда ей надо чиститься из-за переполнения по размеру, по дате - без проблем.
Именно когда она начинает чиститься по размеру и происходят блокировки (см. статьи наверху) при попытке чего-то изменить. В этом случае ее трогать нельзя.

Опишу один мой случай, который показывает все это в красках.
Терабайтная OLTP база, к которой обращение в основном типа ad-hoc. К тому же какие-то уроды закодили часть параметров прямо в скрипт. Т.е. для сервера это каждый раз разные запросы, и они тяжелые, т.е. попадают в QS.
Максимально удавалось хранить 3-4 дня и занимало это все до 12Гб и около 700000 запросов.
После продолжительных баданий разработчик пофиксил лишь один запрос (на котором я настаивал). Итог: размер рухнул до 30Мб, 30000 запросов. И после этого уже смог увеличить хранение до месяца при стабильном размере 3Гб.

QS очень помогает оперативно привести в чувство тяжелый запросы, используя force plan.
Грузит сервер менее 1%.

Короче, не нарадуюсь. Это еще без статистики, т.к. пока на 2016.
...
Рейтинг: 0 / 0
25.11.2019, 01:41
    #39893717
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Idol_111
Это еще без статистики, т.к. пока на 2016.

хотел написать - без ожиданий.
...
Рейтинг: 0 / 0
25.11.2019, 09:52
    #39893766
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Idol_111,

Ссылки смотрел:
Yes, Query Store can struggle in an ad hoc workload. Changing ANY Query Store requires a lock over the Query Store database object, which can block other Query Store background tasks over that database. So yes, any changes should be made when the system is not busy, and yes, you should have the catpure mode set to AUTO.
Там как раз написано, что такие блокировки данность хранилища и с ними ничего не сделаешь. Рекомендация производить изменения при минимуме нагрузки.
...
Рейтинг: 0 / 0
25.11.2019, 10:12
    #39893778
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Может стоит поработать над параметризацией запросов
...
Рейтинг: 0 / 0
25.11.2019, 10:19
    #39893785
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
a_voronin,

Это да, как и у Idol_111 есть одни и те же запросы, которые сервер считает разными. Сейчас проверил - часть запросов о которых писал разработчики поправили, часть нет.
...
Рейтинг: 0 / 0
25.11.2019, 23:07
    #39894199
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Danion

Там как раз написано, что такие блокировки данность хранилища и с ними ничего не сделаешь. Рекомендация производить изменения при минимуме нагрузки.

Это не данность хранилища. Это косяк/особенность процесса чистки по размеру. Этот процесс может занимать слишком много времени (часы), и лишь это проблема - длительность этого процесса.

Смотреть надо лишь на подобную команду:
Task State Command Total CPU (ms) Elapsed Time (in Sec)RUNNING QUERY STORE SIZE BASED CLEANUP 28860185 32304.432000
Если оно висит, то трогать QS бесполезно.
Какая при этом нагрузка без разницы.
...
Рейтинг: 0 / 0
25.11.2019, 23:56
    #39894211
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
...
Рейтинг: 0 / 0
26.11.2019, 02:21
    #39894231
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Александр Гладченко

Эх, где ж Вы раньше были :) , в июле августе.

Помню пробовал что-то делать с SET DEADLOCK_PRIORITY HIGH, но детали уже не упомню. У меня не сработало.
...
Рейтинг: 0 / 0
26.11.2019, 06:53
    #39894242
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Idol_111
Эх, где ж Вы раньше были :)
Это же полная очистка, а изначально вы, как я понял, вели речь о стандартной очистке, которая поддерживает некий заданный размер, и которая делается (внутри) командами DELETE?
...
Рейтинг: 0 / 0
26.11.2019, 09:24
    #39894267
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Idol_111,

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

Так я не про блокировки во время очистки по размеру. Эта очистка вообще не хочет работать. У меня любое изменение параметров хранилища вызывает блокировки. Большинство короткие, типа увеличить размер хранилища, увеличить срок хранения. А вот отключение чистки по размеру где-то минуты на 3 всё повесило.

Пока оставлю сбор данных включенным и буду смотреть в сторону уменьшения количества запросов с разницей в переменной.
...
Рейтинг: 0 / 0
28.11.2019, 00:57
    #39895310
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
alexeyvg
Idol_111
Эх, где ж Вы раньше были :)
Это же полная очистка, а изначально вы, как я понял, вели речь о стандартной очистке, которая поддерживает некий заданный размер, и которая делается (внутри) командами DELETE?
Александр просто привел вариант, как можно убить чистку по размеру без перезагрузки сервера.
...
Рейтинг: 0 / 0
28.11.2019, 01:00
    #39895312
Idol_111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Query Store
Danion
Эта очистка вообще не хочет работать.

тут я не понял.
Danion
У меня любое изменение параметров хранилища вызывает блокировки.

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


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