Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Странная потеря производительности запроса  [new]
ИдеальнаяСУБД
Member

Откуда:
Сообщений: 35
Есть простой SELECT * from X - запускается прямо из MSSMS на SQL2008
Если сделать TOP (800) - то отрабатывает менее чем за секунду
а если добавить немного записей - например TOP (810) - может думать 40 секунд

Как это вылечить, что надо посмотреть?
19 мар 13, 00:57    [14065028]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
ИдеальнаяСУБД
Есть простой SELECT * from X
У меня нехорошее предчувствие, что вы чего то не договариваете...
19 мар 13, 01:24    [14065075]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
ИдеальнаяСУБД
Member

Откуда:
Сообщений: 35
А смысл недоговаривать?
Нужны скрины? Их нужно подгадать - это происходит не всегда. Но видели ситуацию несколько человек и никто ответа не знает - что именно происходит.
19 мар 13, 01:27    [14065083]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
Нормальная ситуация, здесь такие вопросы регулярно всплывают.

Поищите по "TOP тормоза", что ли...
19 мар 13, 01:35    [14065111]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Ennor Tiegael
Нормальная ситуация, здесь такие вопросы регулярно всплывают.

Поищите по "TOP тормоза", что ли...
Дикие тормоза с TOP без WHERE?
19 мар 13, 01:44    [14065123]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Ennor Tiegael
Member

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

Если там вьюха с внутренней агрегацией, то запросто. Ну или блоб особо жирный, чисто на I/O проседать может.

Деталей-то нет :)
19 мар 13, 03:39    [14065203]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
ИдеальнаяСУБД
Member

Откуда:
Сообщений: 35
Тормозят простейшие селекты.
Ничего не смогли придумать - кроме тормозов по I/O или переполнения каких-то буферов.
Сервер серьезный 64-рарядный, 16 дисков, 16 GB ОЗУ. Серьезно нагруженный - часто в 100% проца улетает.
Однако торможения происходят даже когда сервер болтается в 20% нагрузки.

Можете посоветовать - как точнее диагностировать проблему?
19 мар 13, 08:19    [14065316]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Гость333
Member

Откуда:
Сообщений: 3683
ИдеальнаяСУБД
Можете посоветовать - как точнее диагностировать проблему?

Взять и посмотреть планы выполнения?
19 мар 13, 09:29    [14065542]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
Очень похожий случай
вот это может быть поможет
19 мар 13, 09:41    [14065592]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Ennor Tiegael
Mind,

Если там вьюха с внутренней агрегацией, то запросто. Ну или блоб особо жирный, чисто на I/O проседать может.

Деталей-то нет :)

Ещё вариант — из таблицы удалили много-много записей, а ребилд индексов не сделали. И чтобы попасть с 800-й записи на 810-ю, сервер сканирует много-много пустых страниц.
19 мар 13, 10:43    [14065901]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Crimean
Member

Откуда:
Сообщений: 13147
нормально на самом деле. "вангую" - планы меняются при смене top 800 на top 810
19 мар 13, 12:59    [14066808]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
ИдеальнаяСУБД
Member

Откуда:
Сообщений: 35
в общем крутили-крутили - пришли к выводу, что дело в TempDB
будем его сегодня ночью (когда нагрузка упадет) - перекладывать на другой диск
19 мар 13, 16:08    [14068242]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
ИдеальнаяСУБД
Member

Откуда:
Сообщений: 35
ну и ребилд инедксов помог немного тоже, кстати
19 мар 13, 16:09    [14068249]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Crimean
Member

Откуда:
Сообщений: 13147
ИдеальнаяСУБД,

ну, хуже-то точно не станет, но не это причина такого поведения :)
19 мар 13, 16:09    [14068250]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Гость333
Ennor Tiegael
Mind,

Если там вьюха с внутренней агрегацией, то запросто. Ну или блоб особо жирный, чисто на I/O проседать может.

Деталей-то нет :)

Ещё вариант — из таблицы удалили много-много записей, а ребилд индексов не сделали. И чтобы попасть с 800-й записи на 810-ю, сервер сканирует много-много пустых страниц.
Я всегда думал что в индексах есть ссылки которые позволяют переходить вперед-назад без необходимости сканирования пустых страниц.
19 мар 13, 21:14    [14069630]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Mind
Гость333
пропущено...

Ещё вариант — из таблицы удалили много-много записей, а ребилд индексов не сделали. И чтобы попасть с 800-й записи на 810-ю, сервер сканирует много-много пустых страниц.
Я всегда думал что в индексах есть ссылки которые позволяют переходить вперед-назад без необходимости сканирования пустых страниц.
Пустые страницы из цепочки удаляет Ghost Cleanup. Если удалить много подряд идущих страниц, то Ghost Cleanup не успеет все вычистить сразу и такой эффект будет наблюдаться при сканах.
19 мар 13, 21:19    [14069642]     Ответить | Цитировать Сообщить модератору
 Re: Странная потеря производительности запроса  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Гавриленко Сергей Алексеевич,

+ процесс Ghost Cleanup можно отключить при помощи флага трассировки 661
+ на 2008/2008R2 был баг, из-за которого Ghost Cleanup мог не срабатывать http://support.microsoft.com/kb/2622823/en
20 мар 13, 08:43    [14070541]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить