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

Откуда:
Сообщений: 517
День добрый!
Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64)
Jun 17 2016 19:14:09
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)

На сервере одна база OLTP в FULL Recovery Model размером порядка 300Гб


Некоторое время появились проблемы с производительностью, элементарные вещи(например инсерт одной строки), которы обычно занимают милисекунды иногда подвисают и могут продолжаться около 30 секунд.
Анализирую трейс, вижу, что все как-будто подвисает на минуты две, а потом, с аналогичной активностью все работает нормально.

Сделал неболшую кореляцию между имеющимися данными и обратил внимание на следующее:
Каждые 20 минут происходит резервное копирование журнала транзакций средствами Veeam, каждый бекап длится несколько секунд и занимает порядка 1Гб в среднем
Я обратил внимание, что во время бекапа и после него подозрительно растет счетчик Pages/Sec пиками по несколько минут.
"Зависания" происходет чаще всего именно в эти пики.

Хотел бы узнать может ли быть связь между бекапами и зависаниями?
На что еще стоит обратить внимание?
Приложил график Pages/Sec, бэкабы запусакеются в 00,20 и 40 минут

Картинка с другого сайта.


Спасибо!
3 май 18, 13:05    [21384161]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
aleksrov
Member

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

Так вы и посмотрите чего ваш инсерт ждет 30 сек. Чего гадать та?

По счетчику.
Shows the rate at which pages are read from or written to disk to resolve hard page faults. This counter is a primary indicator of the kinds of faults that cause system-wide delays. It is the sum of Memory\ Pages Input/sec and Memory\ Pages Output/sec. It is counted in numbers of pages, so it can be compared to other counts of pages, such as Memory\ Page Faults/sec, without conversion. It includes pages retrieved to satisfy faults in the file system cache (usually requested by applications) and noncached mapped memory files

Occasional peaks are normal and appear when creating SQL Server database and transaction log backups, restoring databases, importing and exporting data, and performing other complex tasks

Один этот счетчик ни о чем не говорит по сути.
3 май 18, 13:18    [21384212]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
abrashka
Member

Откуда:
Сообщений: 517
aleksrov,
Чаще всего ждет PAGEIOLATCH_SH
в среднем ожидания:
WRITELOG- 32%
PAGEIOLATCH_SH-22%
LCK_M_U-15%
PAGEIOLATCH_EX-9%
CXPACKET-5%
3 май 18, 13:52    [21384354]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
invm
Member

Откуда: Москва
Сообщений: 9301
abrashka
Каждые 20 минут происходит резервное копирование журнала транзакций средствами Veeam
А эти средства заодно не усекают физически файл журнала?
3 май 18, 14:11    [21384442]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
abrashka
Member

Откуда:
Сообщений: 517
invm,
Не обращал внимание, обязательно проверю. Но скорее нет, чем да.
3 май 18, 14:20    [21384477]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
abrashka
Member

Откуда:
Сообщений: 517
invm
abrashka
Каждые 20 минут происходит резервное копирование журнала транзакций средствами Veeam
А эти средства заодно не усекают физически файл журнала?


Проследил, физический файл журнала не изменяется.
3 май 18, 14:44    [21384585]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
aleksrov
Member

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

Подсистема хранения какая?
Параллельно с этим инсертом, что еще выполняется?
3 май 18, 16:10    [21385103]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
aleksrov
Member

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

И сколько у вас виртуалок на том же хосте что и SQL?
3 май 18, 16:20    [21385158]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
aleksrov
Member

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

Или у вас он просто включен? Т.е. виртуалка или нет?
3 май 18, 16:25    [21385186]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
abrashka
Member

Откуда:
Сообщений: 517
aleksrov,
Что есть подсистема хранения? На сколько я знаю- Диски SSD: System, MDF, LDF, Backups- на четырех разных физических дисках.

Параллельно выполняются относительно не сложные запросы по другим таблицам, не связанные с инсертами.

Каждый из этих запросов в "мирное" время бежит максимум пару секунд. Когда происходит "подвисание"- все запросы висят около минуты. Судя по количеству reads/writes- выполняются обычные планы. Судя по трейсу CPU у всех запросов во время 'зависания' никакой, а duration огромный.
3 май 18, 16:27    [21385195]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
invm
Member

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

Смотрите во время "зависаний" в sys.dm_os_waiting_tasks чего ждут ваши запросы.
3 май 18, 16:41    [21385265]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
abrashka
Member

Откуда:
Сообщений: 517
invm
abrashka,

Смотрите во время "зависаний" в sys.dm_os_waiting_tasks чего ждут ваши запросы.


Еслиб я знал, когда произойдет следующее зависание- то было бы гораздо проще :(

Но таких зависаний может быть несколько раз в день по минуте-две, а может и не быть...

В течении дня бежит трейс, который отлавливает по duration>3sec и PERFMON, но к сожалению по имеющейся информации не могу понять что приводит к зависанию.
В какой-то момент в трейсе вижу, что практически все операции бегут ~30 секунд(в апликации таймаут на 30 секунд). Где-то через минуту сервер постепенно попускает и практически те же запросы бегут 28-25-20-15-...-3 секунды. До очередного зависания.
3 май 18, 17:17    [21385381]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с проблемой производительности.  [new]
aleksrov
Member

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

Пользуетесь расширенными событиями. У вас по умолчанию запущен system_health который много чего собирает полезного.
Ну или можете сами сделать https://www.sqlskills.com/blogs/jonathan/an-xevent-a-day-30-of-31-tracking-session-and-statement-level-waits/
3 май 18, 17:46    [21385495]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить