powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отключение Buffer Pool Extension в Online
8 сообщений из 8, страница 1 из 1
Отключение Buffer Pool Extension в Online
    #39992422
rozen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется инстанс Sql Server 2016 Standard
Сконфигурированный максимум доступной памяти -- 30 гигабайт.
Кроме того, включен и размещен на SSD Buffer Pool Extension 128 гигабайт.

Возникла технологическая необходимость ночью на время "внешних" регламентных работ его отключать (зачем -- это отдельная сложная тема), а по завершении -- включать обратно.

В BOL никаких предупреждений по этому поводу не написано, кроме замечания о возможной деградации быстродействия.
Вообще, в общих материалах про BPE написано, что туда вытесняются Clean Pages, поэтому логика подсказывает, что его выключение должно быть в целом быстрой и безболезненной операцией.

Практика же показывает, что после выключения BPE каждую вторую ночь инстанс сразу впадает в полную кому, отказывается принимать подключения с ошибкой типа "превышен лимит подключений или доступной памяти" и засирает логи сообщениями об ошибках выделения памяти из Buffer Pool.

На тестовом инстансе ( 10+12 гигов) у нас этот "фокус" проходил безболезненно.

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

Отсюда вопрос -- почему так происходит и можно ли это победить?
...
Рейтинг: 0 / 0
Отключение Buffer Pool Extension в Online
    #39992423
rozen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вдогонку. Нас бы устроил вариант при котором мы его не выключаем, а просто как-то запрещаем SQL Server в него писать на время обслуживания. Просто в окно обслуживания бывает запись туда до 25 гигабайт в час непонятно из-за чего и это мешает вплоть до полного отказа в обслуживании.
...
Рейтинг: 0 / 0
Отключение Buffer Pool Extension в Online
    #39992446
Немного глупый вопрос зачем вам BPE?
Какого типа у вас SSD? Шина подключения и тд.
Что касательно Delayed Durabity? Включена ли на базах?
Статистика ожиданий какая?
...
Рейтинг: 0 / 0
Отключение Buffer Pool Extension в Online
    #39992479
rozen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Syrovatchenko
Немного глупый вопрос зачем вам BPE?
Какого типа у вас SSD? Шина подключения и тд.
Что касательно Delayed Durabity? Включена ли на базах?
Статистика ожиданий какая?


SSD Huawei в зеркале, стоят в хосте на SAS-интерфейсе. Сами базы и журналы все лежат "на полке" из SAS-винтов. Админы для своего удобства промежду хостом и SQL Server держат Hyper-V, поэтому я до конца подробностей не знаю. Железо всё Huawei. Память в хосте распределена между 3 инстансами, особо нет возможности нарастить, особенно с нашей бюрократией. А SSD был, поэтому просто подключили, положили туда BPE и tempdb. Выключение BPE сейчас после периода "все привыкли и всё разрослось" приводит к жалобам "у нас сегодня что-то все заметно тормозить стало".

Delayed Durability не включался. Базы в основном вида "кладем/изменяем помалу, смотрим толпами и помногу"
...
Рейтинг: 0 / 0
Отключение Buffer Pool Extension в Online
    #39992481
rozen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
P.S. поигрался с trace flag 861 и 862. Судя по "показаниям" performance counters они не оказывают сколько-нибудь явного влияния на объемы записи в BPE. "Занятость" BPE при прекращении активности на тестовом сервере постепенно снижается к 50%.
...
Рейтинг: 0 / 0
Отключение Buffer Pool Extension в Online
    #39992565
Можно результаты запроса по статистике ожиданий:
SQL
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
SELECT TOP(20) wait_type
             , wait_time = CAST(wait_time_ms / 1000. AS DECIMAL(18,4))
             , wait_resource = CAST((wait_time_ms - signal_wait_time_ms) / 1000. AS DECIMAL(18,4))
             , wait_signal = CAST(signal_wait_time_ms / 1000. AS DECIMAL(18,4))
             , wait_time_percent = CAST(100. * wait_time_ms / NULLIF(SUM(wait_time_ms) OVER (), 0) AS DECIMAL(18,2))
             , waiting_tasks_count
             , max_wait_time = CAST(max_wait_time_ms / 1000. AS DECIMAL(18,4))
             , avg_wait = CAST(wait_time_ms / 1000. / waiting_tasks_count AS DECIMAL(18,4))
             , avg_wait_resource = CAST((wait_time_ms - signal_wait_time_ms) / 1000. / waiting_tasks_count AS DECIMAL(18,4))
             , avg_wait_signal = CAST(signal_wait_time_ms / 1000. / waiting_tasks_count AS DECIMAL(18,4))
FROM sys.dm_os_wait_stats
WHERE waiting_tasks_count > 0
    AND wait_time_ms > 0
    AND wait_type NOT IN (
        N'BROKER_EVENTHANDLER', N'BROKER_RECEIVE_WAITFOR',
        N'BROKER_TASK_STOP', N'BROKER_TO_FLUSH',
        N'BROKER_TRANSMITTER', N'CHECKPOINT_QUEUE',
        N'CHKPT', N'CLR_AUTO_EVENT',
        N'CLR_MANUAL_EVENT', N'CLR_SEMAPHORE',
        N'DBMIRROR_DBM_EVENT', N'DBMIRROR_EVENTS_QUEUE',
        N'DBMIRROR_WORKER_QUEUE', N'DBMIRRORING_CMD',
        N'DIRTY_PAGE_POLL', N'DISPATCHER_QUEUE_SEMAPHORE',
        N'EXECSYNC', N'FSAGENT',
        N'FT_IFTS_SCHEDULER_IDLE_WAIT', N'FT_IFTSHC_MUTEX',
        N'HADR_CLUSAPI_CALL', N'HADR_FILESTREAM_IOMGR_IOCOMPLETION',
        N'HADR_LOGCAPTURE_WAIT', N'HADR_NOTIFICATION_DEQUEUE',
        N'HADR_TIMER_TASK', N'HADR_WORK_QUEUE',
        N'KSOURCE_WAKEUP', N'LAZYWRITER_SLEEP',
        N'LOGMGR_QUEUE', N'ONDEMAND_TASK_QUEUE',
        N'PWAIT_ALL_COMPONENTS_INITIALIZED',
        N'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP',
        N'QDS_CLEANUP_STALE_QUERIES_TASK_MAIN_LOOP_SLEEP',
        N'REQUEST_FOR_DEADLOCK_SEARCH', N'RESOURCE_QUEUE',
        N'SERVER_IDLE_CHECK', N'SLEEP_BPOOL_FLUSH',
        N'SLEEP_DBSTARTUP', N'SLEEP_DCOMSTARTUP',
        N'SLEEP_MASTERDBREADY', N'SLEEP_MASTERMDREADY',
        N'SLEEP_MASTERUPGRADED', N'SLEEP_MSDBSTARTUP',
        N'SLEEP_SYSTEMTASK', N'SLEEP_TASK',
        N'SLEEP_TEMPDBSTARTUP', N'SNI_HTTP_ACCEPT',
        N'SP_SERVER_DIAGNOSTICS_SLEEP', N'SQLTRACE_BUFFER_FLUSH',
        N'SQLTRACE_INCREMENTAL_FLUSH_SLEEP',
        N'SQLTRACE_WAIT_ENTRIES', N'WAIT_FOR_RESULTS',
        N'WAITFOR', N'WAITFOR_TASKSHUTDOWN',
        N'WAIT_XTP_HOST_WAIT', N'WAIT_XTP_OFFLINE_CKPT_NEW_LOG',
        N'WAIT_XTP_CKPT_CLOSE', N'XE_DISPATCHER_JOIN',
        N'XE_DISPATCHER_WAIT', N'XE_TIMER_EVENT'
    )
ORDER BY wait_time_ms DESC

...
Рейтинг: 0 / 0
Отключение Buffer Pool Extension в Online
    #39993422
rozen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Syrovatchenko, вот, состояние после пары (кажется) дней аптайма без BPE

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
wait_type                                                    wait_time                               wait_resource                           wait_signal                             wait_time_percent                       waiting_tasks_count  max_wait_time                           avg_wait                                avg_wait_resource                       avg_wait_signal
------------------------------------------------------------ --------------------------------------- --------------------------------------- --------------------------------------- --------------------------------------- -------------------- --------------------------------------- --------------------------------------- --------------------------------------- ---------------------------------------
CXCONSUMER                                                   254009.2110                             239829.6050                             14179.6060                              19.82                                   26315808             1439.0760                               0.0097                                  0.0091                                  0.0005
CXPACKET                                                     245102.1540                             224884.3960                             20217.7580                              19.12                                   36090614             375.8250                                0.0068                                  0.0062                                  0.0006
ASYNC_NETWORK_IO                                             235363.9630                             201953.7870                             33410.1760                              18.36                                   173847292            2.2820                                  0.0014                                  0.0012                                  0.0002
PWAIT_DIRECTLOGCONSUMER_GETNEXT                              150019.5700                             150014.4860                             5.0840                                  11.70                                   391705               19794.9430                              0.3830                                  0.3830                                  0.0000
PAGEIOLATCH_SH                                               129723.3140                             128410.1560                             1313.1580                               10.12                                   14757366             10.3210                                 0.0088                                  0.0087                                  0.0001
LATCH_EX                                                     62536.7990                              54293.8660                              8242.9330                               4.88                                    19044265             3.8700                                  0.0033                                  0.0029                                  0.0004
SOS_SCHEDULER_YIELD                                          37520.7730                              31.4450                                 37489.3280                              2.93                                    39580793             0.8370                                  0.0009                                  0.0000                                  0.0009
OLEDB                                                        29212.9410                              29212.9410                              0.0000                                  2.28                                    384107389            337.8980                                0.0001                                  0.0001                                  0.0000
PREEMPTIVE_OS_PIPEOPS                                        18472.4290                              18472.4290                              0.0000                                  1.44                                    1521                 35.7800                                 12.1449                                 12.1449                                 0.0000
WRITELOG                                                     13800.4540                              11181.2260                              2619.2280                               1.08                                    10628902             5.0060                                  0.0013                                  0.0011                                  0.0002
LCK_M_X                                                      12472.2350                              12410.5540                              61.6810                                 0.97                                    69428                21.3040                                 0.1796                                  0.1788                                  0.0009
XE_LIVE_TARGET_TVF                                           10701.2810                              10699.8670                              1.4140                                  0.83                                    6412                 4.0480                                  1.6689                                  1.6687                                  0.0002
PAGELATCH_EX                                                 9811.2350                               480.1030                                9331.1320                               0.77                                    156722565            0.6950                                  0.0001                                  0.0000                                  0.0001
PAGEIOLATCH_EX                                               9118.1990                               9066.2850                               51.9140                                 0.71                                    2941180              5.9730                                  0.0031                                  0.0031                                  0.0000
LCK_M_IX                                                     8445.9650                               8445.0920                               0.8730                                  0.66                                    1228                 30.0240                                 6.8778                                  6.8771                                  0.0007
MSQL_DQ                                                      7535.7790                               7535.7790                               0.0000                                  0.59                                    663008               346.7560                                0.0114                                  0.0114                                  0.0000
LCK_M_U                                                      7146.3430                               7143.1310                               3.2120                                  0.56                                    11091                30.0100                                 0.6443                                  0.6440                                  0.0003
BACKUPIO                                                     6062.1600                               6054.7030                               7.4570                                  0.47                                    855535               9.4920                                  0.0071                                  0.0071                                  0.0000
BACKUPBUFFER                                                 3608.4600                               3556.2620                               52.1980                                 0.28                                    2142520              1.6170                                  0.0017                                  0.0017                                  0.0000
ASYNC_IO_COMPLETION                                          3270.5550                               3270.4660                               0.0890                                  0.26                                    381                  1472.2990                               8.5841                                  8.5839                                  0.0002
...
Рейтинг: 0 / 0
Отключение Buffer Pool Extension в Online
    #39993651
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rozen,

очень хорошая статистика.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отключение Buffer Pool Extension в Online
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]