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

Откуда:
Сообщений: 13147
не надо оптимизировать свой запрос. надо причину деградации системы найти
навскидку:
- пустить сборку основных счетчиков производительности. проц, память, диски, сетка, все как обычно. "писать в блокнотик" (ц) моменты когда хорошо и когда плохо. очень было бы интересно записать момент, когда хорошо, но есть нагрузка. после - сравнить фрагменты когда хорошо, но нагрузка с моментом когда плохо. а вдруг там своп пошел? или очередь дисковая скаканула? или типа бакап по сетке полился и т.д.
- пустить трас, для начала Batch Complete + RPC Complete. чтобы он "захватил" все те же периоды - когда хорошо и когда плохо. дальше играть начинаем от "плохо" - время мы предположительно знаем, жалуются на "Тормоза", значит ищем за период когда "плохо" запросы с большим Duration. смотрим на потребленное cpu таких запросов (на остальные показатели - тоже, но проц пока "интереснее", не говорю "важнее") - если оно сильно меньше чем duration - вполне возможно что причина в "блокировках" - тогда надо будет проводить дополнительное исследование. а может просто долго диск ждали - тогда смотрим на запредельные цифры дисковой активности (reads / writes). пытаемся найти "такие же" запросы, но когда хорошо и нагрузка. сравниваем потребленные ресурсы для схожих (одинаковых) уже выявленных (!) проблемных запросов. если налицо существенная разница - переходим к выявлению планов этих запросов и сравнению планов
- и вот уже только тут, когда наступила минимальная ясность - это кто-то чем-то убивает железо (а мы тогда уже должны понять кто и чем) или затупливает тот же сиквел (и тут мы уже должны иметь набор проблемных запросов), а то и все сразу, но если все и сразу - почти всегда это весьма взаимосвязано - начинаем думать, а как же лечить - настройками, гайдами планов или чем-то еще. но - только после того, как наступит минимальная ясность, до того - не надо
18 июн 14, 11:27    [16180705]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
Crimean, ясно. Я собираюсь сохранить показание счетчиков из этой статьи, все правильно делаю ? Пока дожидаемся состояния "плохо", может ткнете меня носом, что еще у меня не так (наверняка еще что то не так).
21 июн 14, 19:35    [16200876]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Ondayl
Crimean, ясно. Я собираюсь сохранить показание счетчиков из этой статьи, все правильно делаю ?
Половина счетчиков из этой статьи либо безнедежно устарела либо не имеет большого практического смысла. Я бы лучше взял скажем вот такие:

http://www.brentozar.com/archive/2006/12/dba-101-using-perfmon-for-sql-performance-tuning/
Memory – Available MBytes
Paging File – % Usage
Physical Disk – Avg. Disk sec/Read
Physical Disk – Avg. Disk sec/Write
Physical Disk – Disk Reads/sec
Physical Disk – Disk Writes/sec
Processor – % Processor Time
SQLServer: Buffer Manager – Page life expectancy
SQLServer: General Statistics – User Connections
SQLServer: Memory Manager – Memory Grants Pending
SQLServer: SQL Statistics – Batch Requests/sec
SQLServer: SQL Statistics – Compilations/sec
SQLServer: SQL Statistics – Recompilations/sec
System – Processor Queue Length
22 июн 14, 11:35    [16202330]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
Mind, понял, сейчас подключу. Но если брать в расчет те 7, то у меня по графику Average Disk Queue Length подскакивает частенько вверх, максимум показывает 40-60, а среднее значение все равно меньше 1.
22 июн 14, 15:42    [16202693]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
автор
http://www.brentozar.com/archive/2006/12/dba-101-using-perfmon-for-sql-performance-tuning

Есть нечего такое же на русском ? К сожалению, не могу в английский.
22 июн 14, 15:54    [16202702]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
Скажите, а эта статья актуальна ? Начал сравнивать счетчики со своими, и кажеться, мое “хорошо” это совсем не хорошо по сравнению с тем как должно быть. Вот например:

СчетчикPage life expectancy сообщает, как долго страница будет постоянно находиться в памяти в нынешнем состоянии. Низкое значение (обычно менее 300 секунд) означает, что система злоупотребляет буферным пулом. Таким образом, потенциально работа памяти может вызывать проблемы, приводящие к снижению производительности.

У меня средний показатель (если он в мс) - 28000.

Далее,

В частности, если SQL Compilations/sec - это большая доля (более 10 %) SQL Batch Requests/sec, и пользовательское приложение - это приложение OLTP, тогда приложение, вероятно, не использует кэш плана эффективно.

У меня эти показатели почти равны.

но
Однако в целом повторное использование плана уменьшает нагрузку на процессор и может заметно улучшить производительность OLTP-систем.

Но нагрузки на процессор у меня нет. Так мне стоит заморачиваться по этому поводу или нет ?

Трас пока не пускал.
Это все в состоянии “хорошо”. Что можно предпринять еще ? Навскидку.
23 июн 14, 15:29    [16207162]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
Ох, забыл прикрепить показания своих счетчиков в формате blg.
http://rghost.ru/56531833
23 июн 14, 15:30    [16207176]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Mind
Member

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

Ondayl
Скажите, а эта статья актуальна ? Начал сравнивать счетчики со своими, и кажеться, мое “хорошо” это совсем не хорошо по сравнению с тем как должно быть. Вот например:

СчетчикPage life expectancy сообщает, как долго страница будет постоянно находиться в памяти в нынешнем состоянии. Низкое значение (обычно менее 300 секунд) означает, что система злоупотребляет буферным пулом. Таким образом, потенциально работа памяти может вызывать проблемы, приводящие к снижению производительности.
У меня средний показатель (если он в мс) - 28000.

Неплохая статья, есть правда пару неточностей. но она исключительно о памяти. При значениях PLE 28000 секунд, я не думаю что у вас проблемы с памятью. Если в состоянии "плохо" будет также, то копаете явно не туда.
23 июн 14, 20:13    [16208757]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
Mind, инглишь надо, вы правы.

автор
PLE 28000 секунд

Т.е он в секундах, я понял.
автор
есть правда пару неточностей

Каких, не расскажите ?

А что по поводу других счетчиков ?
23 июн 14, 20:53    [16208833]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
rahzer
Member

Откуда:
Сообщений: 2308
Если очереди команд к жесткому диску от 40 до 60 - это не айс, понятно, что это пики, но эти пики дисковая подсистема не может переварить. Сколько по времени эти всплески идут? Тут надо задуматься о повышении быстродействия дисковой подсистемы, если пики регулярны и продолжительны (более быстрые жесткие диски, смена массива, увеличение количества дисков, контроллер, кэш и т.п.)
То, что среднее количество команд мелкое вполне можно объяснить тем, что ночью (или в какое-то другое время) идет простой и там обращений нет сильных, но тут знать, что у Вас там крутится, какие задачи, статистика и т.п.
Опять же гляньте, что запускается во время пиков и совпадает ли это время с тормозами.
Проц может простаивать, т.к. ждет отклика дисковой подсистемы - это самая медленная часть, если у вас на НМЖД построена.
23 июн 14, 21:54    [16209020]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
rahzer
Если очереди команд к жесткому диску от 40 до 60 - это не айс

А где вы это увидели ? Я вообще что то затупил, как этот график смотреть. Наверняка не туда смотрю.
28 июн 14, 23:21    [16234387]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
rahzer
Member

Откуда:
Сообщений: 2308
автор
то у меня по графику Average Disk Queue Length подскакивает частенько вверх, максимум показывает 40-60

Ваши же слова)
автор
А где вы это увидели ? Я вообще что то затупил, как этот график смотреть. Наверняка не туда смотрю

Уберите не нужные параметры (просто снять галочкой при просмотре) увеличьте диапазон временной и смотрите, когда это и в какой время проимсходит, дальше накладывайте на то, что на софтовом уровне СУБД происходит.
По рекомендациям MS (надо мне их найти правда) при длительном времени очереди команд свыше 5 - свидетельствует о проблемах с дисковой подсистемой.
Какой сервак, контроллер, тип и скорость дисков?
29 июн 14, 01:24    [16234673]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
rahzer, так мне потом написали, что этот счетчик не актуален и не нужен. А в тех что дали, я пока ничего подозрительного не вижу. Может мне дисковую бенчмарками погонять, IOmeter там, sqlio ?
29 июн 14, 12:43    [16235077]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
rahzer, железо два Xeon X5660, 24 гб озу, рейд из четырех дисков SEAGATE ST3300657SS, режим рейда 1+0, контроллер INTEL RS2BL080, материнка Supermicro X8DTH-6/6F/I/IF. База 300 гб 24/7.
29 июн 14, 13:13    [16235113]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
rahzer
Member

Откуда:
Сообщений: 2308
автор
так мне потом написали, что этот счетчик не актуален и не нужен

Плохо тебе посоветовали. Этот счетчик напрямую показывает - успевают ли жесткие диски переваривать ту инфу, что к ним поступает, а у тебя похоже, что вообще нифига не успевают в ряде случаев, но надо смотреть, что творится при этом в СУБД или что запускается.
автор
Может мне дисковую бенчмарками погонять, IOmeter там, sqlio ?

Ну погоняешь ты, и что? Поймешь, что есть дисковые подсистемы быстрее - так оно логично, по сравнению с тем, что у тебя. Получишь ты виртуальные попугаи - и куда их? Бенчмарки снимаются тогда, когда имеются уже сформированные требования к дисковой подсистеме - не меньше стольки-то I\O, не меньше такой то скорости R\W, а так как требований нет, то и результаты спроецировать ты не сможешь..
автор
контроллер INTEL RS2BL080

Батарея резервного питания присутствует, работает нормально?
автор
рейд из четырех дисков SEAGATE ST3300657SS

Винты быстрые конечно, но возможно, надо увеличивать их число, но перед этим проверить пункт про батарейку.
Так же еще файл подкачки посмотри, насколько интенсивно используется и чем, вполне вариант, тупо из-за нехватки оперативки.
29 июн 14, 14:25    [16235235]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
rahzer,
автор
Ну погоняешь ты, и что?

Может производительность не будет соответствовать скорости жестких дисков, по каким то причинам.

автор
Батарея резервного питания присутствует, работает нормально?

Софтвенно как то можно посмотреть ?
29 июн 14, 14:57    [16235295]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
rahzer
Member

Откуда:
Сообщений: 2308
автор
Может производительность не будет соответствовать скорости жестких дисков, по каким то причинам.

Такое вряд ли будет.
автор
Софтвенно как то можно посмотреть ?

Скачать утилиту управления контроллером и через нее глядеть в ОС, либо при перезагрузке сервера зайти в БИОС контроллера и там глянуть, так же проверить не ругается ли контроллер на винты.
29 июн 14, 15:27    [16235351]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
rahzer, мне смотреть BBU я так понимаю? У меня там упоминание о таком нет. Т.е выходит батарейки вообще нет, это очень плохо ?
29 июн 14, 23:43    [16236454]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
rahzer
Member

Откуда:
Сообщений: 2308
автор
мне смотреть BBU я так понимаю? У меня там упоминание о таком нет.

Посмотрите в каком режиме стоит запись кэша контроллера - write through или write back?
автор
это очень плохо ?

Это существенно снижает производительность дисковой подсистемы, а если еще и с оч.умелыми ручками, то можно и проблем огрести.
30 июн 14, 00:52    [16236558]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
rahzer
автор
так мне потом написали, что этот счетчик не актуален и не нужен

Плохо тебе посоветовали. Этот счетчик напрямую показывает - успевают ли жесткие диски переваривать ту инфу, что к ним поступает, а у тебя похоже, что вообще нифига не успевают в ряде случаев, но надо смотреть, что творится при этом в СУБД или что запускается.
Уже 10 лет как все пишут что это счетчик применительно к SQL Server можно выкинуть на помойку.

Пруф линки:SQL Server Urban Legends Discussed
автор
A Disk Queue Length greater than 2 indicates an I/O bottleneck
A statement was published many years ago that sustained disk queue length greater than 2 is an indication of an I/O bottleneck. This statement is still true if the application is not designed to handle the situation. SQL Server is designed to push disk queue lengths above 2 when it is appropriate.

Вот тут его вообще отнесли в категорию: Red Herring Counters
автор
Microsoft SQL Server has a long and storied history. Some PerfMon counters, once among the most useful available, are
now much less useful to the point of being counter-productive. In many cases, improvements to the hardware or internal
processes within SQL Server mean these PerfMon counters, while once informative, no longer add value.
Кстати по ссылке выше неплохой постер с описанием основвных счетчиков для SQL Server. Конечно же на английском.

Основные счетчики производительности диска это:
Physical Disk – Avg. Disk sec/Read
Physical Disk – Avg. Disk sec/Write

rahzer
тупо из-за нехватки оперативки.
PLE говорит об обратном.

А еще не понятно как все это соотносится с оригинальной темой автора. Если предположить, что диски не справляются, то рестарт сервера не может это "вылечить".
30 июн 14, 21:53    [16240923]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
rahzer
Member

Откуда:
Сообщений: 2308
автор
Пруф линки:SQL Server Urban Legends Discussed
Вот тут его вообще отнесли в категорию: Red Herring Counters

Это блоги, там могут писать и несведующие люди, просто высказывают свое имхо..
Я больше доверяю официальной документашке от производителя, а не блогу, а оф.документашка говорит обратное:
You can also use Avg. Disk Queue Length to validate the communication medium. Generally, a value greater than 32 represents a bottleneck that can increase latency.
здесь
Есть и вообще в гайдах по продукту, но не сегодня, я футбол смотрю, при желании на досуге поищу..
А в тех блогах публикации еще до 2008 сервера, у меня хоть свежак..)
автор
Уже 10 лет как все пишут что это счетчик применительно к SQL Server можно выкинуть на помойку.

Только физику выкинуть нельзя, если куча команд накопилась к диску, так значит дисковая подсистема их не переваривает - и никуда от этого не деться..
автор
Основные счетчики производительности диска это:
Physical Disk – Avg. Disk sec/Read
Physical Disk – Avg. Disk sec/Write

Я против них и не спорю, надо на всю картину смотреть..Иопсы то это хорошо, но на лог нужны уже не иопсы, а потоковая запись.
автор
PLE говорит об обратном.

не проверял еще
автор
А еще не понятно как все это соотносится с оригинальной темой автора. Если предположить, что диски не справляются, то рестарт сервера не может это "вылечить".

Проблема может быть с оперативкой и пэйджингом, в результате начинает грузиться дисковая и идут общие тормоза ос, и субд, о чем косвенно показывают счетчики.
Возможно это не так, но в любом случае, что у дисковой подсистемы проблемы есть, и их надо решать, если конечно не всех все устраивает.
Возможно, это не корневая причина, но было бы интересно в качестве зацепки посмотреть, что делается в субд, когда начинает тупить дисковая, влияющая на все приложения, в т.ч. и ос
1 июл 14, 00:38    [16241350]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
rahzer, посмотрел, Current Write Policy - Write Through.
2 июл 14, 13:30    [16248687]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
rahzer
Member

Откуда:
Сообщений: 2308
автор
Current Write Policy - Write Through.

Значит BBU нет или она не работоспособна (хотя во втором случае другие сообщения выдавались бы)
В Вашем текущем случае, ОС ждет ответа дисков - пока синхронизируются, пока запишут, плюс к этому операции чтения - все это создает тормоза, которые влияют на ОС, а та, в свою очередь на все остальное.
Но, покупка BBU, может и не спасти, надо смотреть, что в момент тормозов дисковой подсистемы, творится у СУБД.
P.S В свое время, контроллер с BBU повысил быстродействие в 3 раза.
2 июл 14, 19:10    [16251615]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
rahzer
автор
Пруф линки:SQL Server Urban Legends Discussed
Вот тут его вообще отнесли в категорию: Red Herring Counters

Это блоги, там могут писать и несведующие люди, просто высказывают свое имхо..
Знаете, есть некоторые блоги, которым я лично доверяю больше чем официальной документации. Потому что в доках от МС не всегда пишут о всех деталях, подводных камнях, багах и прочих недоделках системы.
rahzer
Я больше доверяю официальной документашке от производителя, а не блогу, а оф.документашка говорит обратное:
You can also use Avg. Disk Queue Length to validate the communication medium. Generally, a value greater than 32 represents a bottleneck that can increase latency.
Даже там их отнесли в раздел Secondary, с пометкой "You should only use the secondary counters for the drive(s) that have high latency."

rahzer
автор
Уже 10 лет как все пишут что это счетчик применительно к SQL Server можно выкинуть на помойку.

Только физику выкинуть нельзя, если куча команд накопилась к диску, так значит дисковая подсистема их не переваривает - и никуда от этого не деться..
Или кто-то грохнул индексы. Вариантов куча. Я не говорю, что это счетчик совсем-совсем бесполезный, но мониторить его в первую очередь, по-моему, только тратить время. Надо идти сверху вниз, а не наоборот.

rahzer
автор
Основные счетчики производительности диска это:
Physical Disk – Avg. Disk sec/Read
Physical Disk – Avg. Disk sec/Write

Я против них и не спорю, надо на всю картину смотреть..Иопсы то это хорошо, но на лог нужны уже не иопсы, а потоковая запись.
Вообще то, это не иопсы.

rahzer
автор
А еще не понятно как все это соотносится с оригинальной темой автора. Если предположить, что диски не справляются, то рестарт сервера не может это "вылечить".
Проблема может быть с оперативкой и пэйджингом, в результате начинает грузиться дисковая и идут общие тормоза ос, и субд, о чем косвенно показывают счетчики.
Собственно о чем я и говорю. Чтобы понять что проблемы с памятью не обязательно смотреть на очереди к диску. Есть счетчики памяти, которые покажут больше релевантной информации.
2 июл 14, 21:04    [16251882]     Ответить | Цитировать Сообщить модератору
 Re: Рестарт служб sql влияет на производительность бизнес приложения.  [new]
rahzer
Member

Откуда:
Сообщений: 2308
автор
Знаете, есть некоторые блоги, которым я лично доверяю больше чем официальной документации. Потому что в доках от МС не всегда пишут о всех деталях, подводных камнях, багах и прочих недоделках системы.

Прислушиваться можно, но ссылаться, я бы подумал..Это равно что или оф доки от производителя машины и дядя Вася в гараже сказал, надеюсь, пример понятен.
автор
Даже там их отнесли в раздел Secondary

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

Вот, а было выкинуть на помойку)
автор
Чтобы понять что проблемы с памятью не обязательно смотреть на очереди к диску. Есть счетчики памяти, которые покажут больше релевантной информации.

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