powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Постоянная io нагрузка в tempdb
22 сообщений из 22, страница 1 из 1
Постоянная io нагрузка в tempdb
    #39763999
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Заметили постоянную нагрузку в tempdb. Приложил скриншоты.
Есть два графика в графане по дисковым операциям.
Один 7 дней назад, когда сервер был 2014 и один на сегодня когда он уже стал 2017.
Видно что нагрузка в 2017 почти константа. Постоянно ровная, в то время как в 2014 прыгала.
Как можно определить, что постоянно пишет и читает в tempdb с завидным постоянством.
Активных прямых реквестов в tempdb нет.

Пробовал через активные транзакции в бд tempdb выйти на пользовательские сессии. Но таким же запросом на другом контуре, который еще не обновили, результат запроса примерно такой-же, только там нет сейчас постоянного жора дисков в tempdb.

Версия сервера 14.0.3049.1
Allow Snapshot Isolation = False
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764022
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В tempdb создают временные таблицы и обычные запросы, если сервер счел это нужным.

Поэтому, вы наблюдаете нормальную работу сервера.
Продолжайте наблюдение...
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764034
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sys.dm_db_task_space_usage в помощь.
соединяйте с sys.dm_exec_requests и выставьте фильтр на разность alloc_page_count и dealloc_page_count
как для юзерских, так и для системных объектов.
все это в джоб и пускай пишет в таблицу, например каждые 5 минут,
у какой сессии с каким запросом и планом разность превысила интересующую вас цифру.
потом проанализируете.
ну или если это днем и постоянно, сами периодически запускайте и смотрите
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764046
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222В tempdb создают временные таблицы и обычные запросы, если сервер счел это нужным.

Поэтому, вы наблюдаете нормальную работу сервера.
Продолжайте наблюдение...
Есть 3 идентичных контура с одинаковым Application слоем.
Два контура перевели на 2017, один остался на 2014.
В контуре на 2014 в Activity Monitor по иопсам в tempdb штиль в любое время суток.
В контурах переведенных на 2017 в Activity Monitor по иопсам в tempdb то что видите.

В ближайшее время оставшийся контур с 2014 тоже обновится на 2017, тогда и увидим, дело в обновлении или нет.

Тем более я понимаю если бы IO прыгало.. Ведь нагрузка не может быть равномерной...
А тут стабильно почти равно (чтение = записи) при чем 10-15 и так пару дней. Заббикс снимает IO каждые пару секунд. Как будто что-то бесконечно пишет/читает одно и тоже.

Yasha123ну или если это днем и постоянно, сами периодически запускайте и смотрите
24х7 это
Из нюансов, что на 2014 контуре, что на 2017 контуре:
1) Настроен Always On. Это Primary нода.
2) Это издатель в репликациях транзакциями (но не распространитель).

Пока единственное на что грешим, это изменился алгоритм Always On и он начал юзать tempdb. Но это надо доказать еще.
Yasha123sys.dm_db_task_space_usage в помощь.
Попробуем, спасибо.
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764059
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Citealeks222В tempdb создают временные таблицы и обычные запросы, если сервер счел это нужным.

Поэтому, вы наблюдаете нормальную работу сервера.
Продолжайте наблюдение...
Есть 3 идентичных контура с одинаковым Application слоем.
Два контура перевели на 2017, один остался на 2014.
В контуре на 2014 в Activity Monitor по иопсам в tempdb штиль в любое время суток.
В контурах переведенных на 2017 в Activity Monitor по иопсам в tempdb то что видите.


Вы противоречите собственным картинкам.

Там ЦИФИРЬКИ в правом нижнем углу отличаются нинасколько.
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764067
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222X-Citeпропущено...

Есть 3 идентичных контура с одинаковым Application слоем.
Два контура перевели на 2017, один остался на 2014.
В контуре на 2014 в Activity Monitor по иопсам в tempdb штиль в любое время суток.
В контурах переведенных на 2017 в Activity Monitor по иопсам в tempdb то что видите.


Вы противоречите собственным картинкам.

Там ЦИФИРЬКИ в правом нижнем углу отличаются нинасколько.
Картинка это один контур №2 когда был 2014 (нделю назад) и стал 2017.
Контур №1 до сих пор на 2014 и там штиль.
Контур №3 сейчас 2017 и та же борода, что и с контуром №2
Может быть на контурах №2 и №3 нагрузка была всегда, просто не обращали внимания.
Но в данный момент интересует что может с завидным постоянством считайте каждую наносекунду 24х7 вызывать чтение/запись в одинаковых цифрах.
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764069
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Cite,

а если график закрутить до 100Gb то штиль будет везеде
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764086
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Cite[
Но в данный момент интересует что может с завидным постоянством считайте каждую наносекунду 24х7 вызывать чтение/запись в одинаковых цифрах.
вы запрос-то запустили или нет?
он в реальном времени показывает всех, кто юзает темпдб
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764090
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKX-Cite,

а если график закрутить до 100Gb то штиль будет везеде

А если так?

Интервал обновления монитора 1 секунда. Цифры чтения/записи почти всегда равны и меняются незначительно.

Вопрос не в том, что есть нагрузка.. а в том что раньше она хоть немного прыгала. А сейчас ровная как забор. Ну и да, попутно понять что пишет/читает.
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764100
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
картинки штамповать видимо приятнее, чем 2 строки кода написать.
тогда уж присоединяюсь к алексу, "Продолжайте наблюдение".
рисуйте больше, красьте пожирнее
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764149
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123картинки штамповать видимо приятнее, чем 2 строки кода написать.
тогда уж присоединяюсь к алексу, "Продолжайте наблюдение".
рисуйте больше, красьте пожирнее
Все спасибо. Нашли вредителя. В контуре №1 и №3 этот же запрос не нагружает tempdb. Разница в качестве данных. Будем разбираться с контуром №2.
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764215
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteYasha123картинки штамповать видимо приятнее, чем 2 строки кода написать.
тогда уж присоединяюсь к алексу, "Продолжайте наблюдение".
рисуйте больше, красьте пожирнее
Все спасибо. Нашли вредителя.
Вредитель - использование merge join с сортировкой внутри tempdb. Потому что на 2014-м активно использовался hash join, а в 2016/2017 оценка использования оперативной памяти поменялась, и Вы получили то, что получили.
Зато нагрузка на CPU немного упала, ведь так?
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764222
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Cite,

Можете сказать "спасибо" Тобиасу Тернстрому. Переделывать никто не будет, сделано не для on-premise, а для Azure.
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764231
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Cite,

Вообще, если хорошо знаете английский - подпишитесь в твиттере на Трэвиса и поспрашивайте, что придумано в 2019-м по сравнению с 2017-м, а то переведете очередной контур на свежую версию и снова будете с удивлением на графики смотреть. Все изменения вносятся из расчета докера и контейнеров, для применения в облаках. Будете каждый месяц немножко шекелей платить по тарифу - и можно будет не смотреть на графики и не переживать.
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764344
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAPX-Citeпропущено...

Все спасибо. Нашли вредителя.
Вредитель - использование merge join с сортировкой внутри tempdb. Потому что на 2014-м активно использовался hash join, а в 2016/2017 оценка использования оперативной памяти поменялась, и Вы получили то, что получили.
Зато нагрузка на CPU немного упала, ведь так?
Прелесть в том что там нет JOIN. Microsoft Dynamics Navision их не умеет делать просто. Он все обрабатывает только простыми селектами и курсорами.

Обычный селект с фильтрацией и сортировкой.

По плану оператор sort получился.
Operator used tempdb to spill data during execution with spill level 2 and 1 spilled thread(s); Sort wrote 6776 pages to and read 6776 pages from tempdb with granted memory 976KB and used memory 976KB

На вход в оператор 17к записей с эстимейтом в 23 записи.
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764360
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAPВредитель - использование merge join с сортировкой внутри tempdb. Потому что на 2014-м активно использовался hash join, а в 2016/2017 оценка использования оперативной памяти поменялась, и Вы получили то, что получили.
Зато нагрузка на CPU немного упала, ведь так?Т.е. утверждаете, что hash поменялся на merge и merge с сортировками потребляет меньше CPU, чем hash?
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764485
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmТ.е. утверждаете, что
Таки нет. Я ничего не утверждаю. Я высказываю некоторые предположения, вероятно, часть из них ошибочные. И я очень благодарен коллегам, которые помогают исправить мои ошибки и подробно пояснить автору темы, что происходит на самом деле.
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764510
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По итогу оказалось что версия MSSQL никакого отношения не имеет. Либо реально изменилась оценка выделения памяти и на 17 памяти под сортировку не стало хватить и он сбрасывал в tempdb ее. А запрос этот выполняется непрерывно бесконечно. По сути разбор очереди с правилами.

Просто совпало то, что обновили и обратили внимание на графики.

Дело было в запросе и оценке. Положили индекс, чтобы избавится от сортировки и IO tempdb упало до 0.
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764518
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Cite,

а на сортировке actual/estimate execution mode какой?
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764519
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было Row/Row
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764522
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteБыло Row/Row
ну на 2014 другого и не должно быть :)
...
Рейтинг: 0 / 0
Постоянная io нагрузка в tempdb
    #39764526
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKX-CiteБыло Row/Row
ну на 2014 другого и не должно быть :)
Нет...
Row/Row это было до накатки индекса на 2017.

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


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