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

Откуда: Москва
Сообщений: 203
Доброго времени суток.

Есть продуктив на двух серверах кластера AlwaysOn.
Основные типы ожиданий Memory/CPU и немного HADR_SYNC_COMMIT, остальное по мелочи.

Но изредка минут на 20-30 возрастают PAGELATCH_EX, PAGELATCH_SH, иногда также в это время растут и по LATCH_SH.

Запросы по которым и копятся в это время ожидания связаны с временными таблицами.
DROP TABLE #services;
CREATE TABLE #services
DROP TABLE #returns;
И подобное. По sys.sysprocesses в создателях блокировок запросы в tempdb.

Сервер 2016 SP1 CU7 Enterprise. Проц - Intel Xeon E5-2667, 2 сокета по 8 ядер, с hyper-threading 32 логических.
При первых проблемах поднял количество дата-файлов в tempdb с 8 до 12, но недавно проблема опять повторилась.
Можно добавить ещё несколько файлов, но больше 16 при текущих ядрах не стоит, а не факт, что поможет.

Во время проблем Page Life Expectancy,Buffer Cache Hit Ratioв в норме.

Будущее обновление самих серверов и версии MS SQL может помочь, но до него ещё надо дожить.

Кто сталкивался с данными блокировками, удалось ли решить проблему?

К сообщению приложен файл. Размер - 126Kb
23 апр 19, 14:42    [21869833]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки PAGELATCH  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Danion,

Старая проблема, на 100% она в общем так и не решена. Основная рекомендация не делать TRUNCATE и не делать DROP просто так
23 апр 19, 14:46    [21869840]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки PAGELATCH  [new]
Владислав Колосов
Member

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

сумма времени задержек говорит только о том, что у вас большое количество обращений к страницам за рассматриваемый интервал времени.
23 апр 19, 14:48    [21869843]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки PAGELATCH  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
TaPaK,

https://support.microsoft.com/en-us/help/4131193/performance-issues-occur-in-form-of-pagelatch-ex-and-pagelatch-sh-wait
23 апр 19, 14:49    [21869844]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки PAGELATCH  [new]
Danion
Member

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

Судя по ссылке часть проблем была поправлена в следующих обновлениях, но пока нет возможности обновить. Хотя бы когда переедем получше станет(если чего нового не вылезет).

Спасибо, советы по действиям с временными таблицами изучу.

Кстати, а рекомендуемое количество файлов для
"2 сокета по 8 ядер, с hyper-threading 32 логических."
какое выходит? Видел фразу, что 2 сокета считается как 2 проца, но не очень понял.
Общая формула - первые 8 процов - 8 файлов, дальше оставшееся количество\4. При таком подходе выходит всего 14.
Но если брать как отдельные процы, то выходит 8=8+16.

(Конфигурацию для каждого отдельного случая методом поставить и посмотреть не рассматриваем)
23 апр 19, 15:12    [21869868]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки PAGELATCH  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Danion,
так в общем и живём
автор
* The number of files depends on the number of (logical) processors on the machine. As a general rule, if the number of logical processors is less than or equal to eight, use the same number of data files as logical processors. If the number of logical processors is greater than eight, use eight data files and then if contention continues, increase the number of data files by multiples of 4 until the contention is reduced to acceptable levels or make changes to the workload/code.

23 апр 19, 15:20    [21869877]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить