Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6   вперед  Ctrl      все
 Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
Добрый день. Недавно заметил, что после рестарта служб sql 2008 бизнес-приложение какое то время работает быстрее, но с каждым днем "затормаживается". Наступает критический момент, когда все бегает очень медленно, перезапуск спасает. Могли бы вы предположить, из-за чего так может происходить ? Можно ли на уровне сервера избежать подобной "деградации". Спасибо.
7 июн 14, 19:01    [16137219]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
baracs
Member

Откуда: Москва
Сообщений: 7204
Ondayl,

Ну вот, было такое обсуждение: вопрос о tempdb...
8 июн 14, 02:08    [16138135]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
DENIS_CHEL
Member

Откуда:
Сообщений: 23097
Бизнес-приложение и sql-сервер на одной машине крутятся?

Память у sql-сервера чем-то ограниченна или ест сколько влезет?
8 июн 14, 02:31    [16138149]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
baracs, сейчас почитаю.

DENIS_CHEL, память ограничена настойками сиквела (параметр maximum server memory, стоит 16 из 24 гб) но она "съедется" достаточно быстро, это нормальное поведение или нет ? Да sql сервер и сервер приложения на одной.
8 июн 14, 11:52    [16138458]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
DENIS_CHEL
Member

Откуда:
Сообщений: 23097
Ondayl
baracs, сейчас почитаю.

DENIS_CHEL, память ограничена настойками сиквела (параметр maximum server memory, стоит 16 из 24 гб) но она "съедется" достаточно быстро, это нормальное поведение или нет ?


Поведение нормальное.

PS Если с tempdb все окажется хорошо, может вам помониторить состояние сиквел сервера, ему может не хватать ресурсов...
8 июн 14, 13:08    [16138525]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
DENIS_CHEL, если такое поведение нормально, почему приложение работает быстрее, когда процесс sqlserver.exe еще не набрал свои 16 гб ?
автор
помониторить состояние сиквел сервера

Как это грамотнее всего сделать ?
8 июн 14, 14:27    [16138649]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Ondayl, возможно, что у Вас огромное количество "одноразовых" запросов в приложении, которые переполняют кэш планов выполнения. Запросы могут быть однотипными, но иметь различные параметры в условии фильтра WHERE. Попробуйте, для начала, вычислить наиболее длительные запросы с помощью profiler, затем проведите анализ. Если это так, как я написал выше, то Вы можете использовать технологию руководства планов. При этом типовые параметризированные запросы будут использовать заранее подготовленный план, не будут тратить время на компиляцию и не заполнять кэш разовыми планами.
Читайте справку по топикам "Руководства планов" (и сопутствующим) и "Создание руководства плана для параметризованных запросов", в частности.
9 июн 14, 11:30    [16141129]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
Я бы при помощи Performance Monitor'а бы выяснил, что конкретно начинает тормозить - растет очередь на чтение? на запись? Не находятся данные в кэше? еще что-то?
Поскольку после перезапуска у Вас все работает хорошо, а потом плохо - разницу будет легко обнаружить.
9 июн 14, 11:55    [16141323]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 16944
Кот Матроскин
Я бы при помощи Performance Monitor'а бы выяснил, что конкретно начинает тормозить - растет очередь на чтение? на запись? Не находятся данные в кэше? еще что-то?
Поскольку после перезапуска у Вас все работает хорошо, а потом плохо - разницу будет легко обнаружить.


в 2000 был смешной баг с утечкой чего-то там во временных таблицах. 1С ники вешались.
9 июн 14, 13:45    [16142229]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
Владислав Колосов, насколько я знаю, это так и есть. Буду ловить профайлером. Если все так, как вы говорите, я же согу решить эту пробелму на уровне сервера ? Прочитал обсужедение про tempdb, но симптомы почти не похожи.
Кот Матроскин, спасибо. Может подскажете еще какие датчики смотреть ?
10 июн 14, 08:25    [16146459]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Ondayl, да, приложение клиента изменять не потребуется.
10 июн 14, 10:38    [16147090]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
Начал смотреть на выполняющиеся запросы, пока что в мониторе ресурсов. Мне обращать внимание на "Число выполнений в минуту" или на "Число логических операций" ? "Число выполнений в минуту" - самые большие значения если брать, то там совсем коротенькие запросы. Еще смутило большое "Количество планов" для некоторых запросов, по 700 штук.
10 июн 14, 21:52    [16151578]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
Похоже, что вы правы. Я смотрел количество "одноразовых запросов" которые находятся в кеше скрпитом:
SELECT text, cp.objtype, cp.size_in_bytes
FROM sys.dm_exec_cached_plans AS cp
CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st
WHERE cp.cacheobjtype = N'Compiled Plan'
AND cp.objtype IN(N'Adhoc', N'Prepared')
AND cp.usecounts = 1
ORDER BY cp.size_in_bytes DESC
OPTION (RECOMPILE);


за выходные у меня их там уже 28 тысяч строк, хотя кеш я сбрасывал в субботу. Только я не совсем понял, зачем мне отлавливать длительные запросы профайлером ? Ведь кеш забивают не самые длительные.
16 июн 14, 15:01    [16169893]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
У Вас же жалобы на долгое выполнение, разве нет? Скорее всего 90% времени тратится на компиляцию. Вытеснение их из кэш - то уже третье дело. Разберетесь с компиляцией - проблема с кэш решится автоматически.
16 июн 14, 15:14    [16169996]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
Ondayl
Я смотрел количество "одноразовых запросов"
...
за выходные у меня их там уже 28 тысяч строк, хотя кеш я сбрасывал в субботу
Для начала попробуйте включить для БД принудительную параметризацию.
16 июн 14, 15:41    [16170262]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
Владислав Колосов, пока не поступали. Люди работали так всегда, к такой производительности привыкли. Хотя есть там один запрос конечно, который бы хотелось ускорить.

invm, ок, сделаем.
16 июн 14, 19:48    [16171733]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Crimean
Member

Откуда:
Сообщений: 13148
принудительная параметризация иногда одно улучшает, а другое - ухудшает
менее болезненное - "optimize for ad hoc workloads" - это более безопасно
я бы, все же, начал с более-менее понимания "а [с] какого" это все происходит
16 июн 14, 19:56    [16171749]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
Crimean
принудительная параметризация иногда одно улучшает, а другое - ухудшает
Но если ухудшений не будет, то это лучше чем optimize for ad hoc workloads. Поэтому, имхо, имеет смысл попробовать. Тем более, что всегда можно отключить.
16 июн 14, 20:20    [16171818]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
Crimean
я бы, все же, начал с более-менее понимания "а [с] какого" это все происходит

Что вы имеете ввиду ?
16 июн 14, 21:05    [16172023]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Crimean
Member

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

первый тов. "Кот Матроскин" вам намекнул на направление изысканий. и я с ним солидарен
а настройки крутить - уже после понимания в чем собственно дело
16 июн 14, 21:21    [16172077]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
Crimean, я уже нашел нашел несколько запросов, которые грузят кеш планов, как я понимаю, осталось только разобраться как правильно создавать структуры планов. Это сложная наука ?
16 июн 14, 21:29    [16172110]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Crimean
Member

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

а что, дефицит памяти? и кеш планов "отбирает хлеб" у буферного пула? и нельзя докинуть озушки? в чем проблемы кеша? или проблема таки не в озушке и не в самом кеше планов?
или в кеше планы кривые копятся? и очистка кеша приводит к появлению там эффективных планов, но которые "внезапно" (в полночь??) "превращаются в тыкву"?
рестарт ЧЕГО решает проблему? сиквела как сервиса? сиквела + прикладухи? всего хоста?
чем отличаются с точки зрения поведения собственно железяки (хорошо, на уровне операционки) когда хорошо от того когда плохо?
ну и т.д.
короче, в который уже раз - давайте вашу деградацию за хвост поймаем и только после лечить будем. ибо сиквел зверушка живучая, хоть и тупенькая
17 июн 14, 03:45    [16173017]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
Crimean, я заранее извиняюсь, если я что-то не так отвечаю. Это по неопытности. Просто я обнаружил, что запрос, который часто выполняется и в котором меняется только дата и номер (т.е пользователь смотрит информацию за определенную дату и номером) - создает на каждый такой запрос план. Это же не правильно ? Я правильно понимаю, что он может пользоваться только одной структурой плана, просто “подставляя” другие даты и номер? Поймать деградацию, да и неоптимизированные запросы конечно надо, но просто хотел решать проблемы по мере поступления. Или мой подход не правильный ?

Т.е я хочу сказать, что планы не кривые (вроде), их просто очень много копиться. Такого же не должно быть ? Я скорее всего, чего то недопонимаю. На ваши вопросы я отвечу немного позже, сейчас убегаю.
17 июн 14, 09:51    [16173602]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
автор
Это сложная наука ?

Прочтите, наконец, справку по тем топикам, что я давал выше.
Давно пора это сделать.
17 июн 14, 11:20    [16174316]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
а что, дефицит памяти?

Вроде нет, на сервере 24 гб. стоит

и кеш планов "отбирает хлеб" у буферного пула?

Ну вот тут пока что не знаю, что ответить, надо выяснить.

и нельзя докинуть озушки?

Пока что нельзя.

в чем проблемы кеша?

Он переполняется одноразовыми запросами (предположительно). Только я вот так и не понял, может такое быть или нет ? Есть ли какой то “предел”, сколько в кеше планов находиться.


или в кеше планы кривые копятся?
и очистка кеша приводит к появлению там эффективных планов, но которые "внезапно" (в
полночь??) "превращаются в тыкву"?

После отчистки кеша, планов там не так много, разница только в этом.

рестарт ЧЕГО решает проблему? сиквела как сервиса? сиквела + прикладухи? всего хоста?

Рестарт ТОЛЬКО службы sql server

чем отличаются с точки зрения поведения собственно железяки (хорошо, на уровне операционки) когда хорошо от того когда плохо?

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

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

Но начать ее отлавливать в тот момент, когда все медленно и все на меня ругаются, не лучшая идея, юзеры у меня уж очень ругачие.

Владислав Колосов, читаю. Но если честно, я запутался, каким способом мне конкретно оптимизировать свой запрос. Тут помощи я пока не прошу, так как надеюсь, что сам разберусь.
18 июн 14, 10:35    [16180275]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить