Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
Есть кластер серверов БД SQL Server 2016 SP1 Enterprise (13.0.4001.0) и группа доступности в asynchronous-commit режиме. Возникают проблемы с задержками репликации на secondary ноды при большом количестве изменённых данных на primary ноде. Например, index rebuild или обновление большого кол-ва строк, которые на primary ноде выполняются за 30 секунд, на secondary ноду могут "приехать" с задержкой 10 минут. "Железо" хорошее, мощное, одинаковое на всех нодах. Проблем с загрузкой "железа" на secondary нодах нет. Ошибок, блокировок, дедлоков на secondary нодах во время отставания репликации нет. В perfmon на всех secondary нодах примерно одинаковое максимальное пиковое значение "Redone Bytes/sec" - порядка 55 мегабайт/сек. "Log Bytes Recived/sec" и "Log Bytes Decompressed/sec" (если включена компрессия) - в разы больше чем "Redone Bytes/sec". После массовых изменений на primary копится большая Redone queue на secondary. Пробовал: 1) alter endpoint encryption = disabled для endpoints, через которые работает AlwaysOn - не помогло. 2) включать trace flag T1462 (Disables log stream compression for asynchronous availability groups) - не помогло. 3) включать trace flag T9591 (Disables log block compression in Always On Availability Groups) - не помогло. 4) отключать hyperthreading - не помогло. Вот здесь вот ( http://www.sqlsaturday.com/SessionDownload.aspx?suid=12181) пишут: SQL Server 2012 single threaded redo - ~45MB/sec SQL Server 2016 multi-threaded redo - ~600MB/sec Хотя непонятно что именно значат эти цифры и откуда их взяли А вот здесь ( https://www.sandisk.com/content/dam/sandisk-main/en_us/assets/resources/enterprise/white-papers/sql-server-2016-ags-on-hpe-dl380-gen9-using-hpe-12g-sas-2.5in-ssds-wp.pdf) пишут: ...However, limitations to AG secondary log redo remain the system bottleneck. The challenge is that a singlethreaded process is still being used to distribute work to the threads that actually implement redo... ...In the context of this three-replica configuration ... There are challenges related to AG log redo. As expected, the AG secondary’s % Processor Time is lower, here only 7%. The secondary is responsible merely for applying log traffic, hardened on its replica database log, to the database data files. However, the explanation for the secondary’s 17K Transactions/sec—a fraction of the primary’s 71K transaction rate—is because of internal constraints: the SQL Server 2016 RTM log redo cannot restore log traffic as quickly as the data is received from the primary. Specifically, the value for secondary’s Redone Bytes/sec is only 51 MB/sec. As stated previously, the secondary’s Bytes Received from Replica/sec is 213 MB/sec. The delta between log traffic received (213 MB/sec) and log data redone (51 MB/sec) is 162 MB/sec. This delta is reflected in the secondary’s Recovery Queue average value of 68 million log records, as well as the growth highlighted in the graphic below... ...the DB STARTUP processes waiting for CPU cycles in order to provide work to idle redo threads. The SQL Server product team is working to remediate the AG log redo bottleneck... Т.е. заявленная в SQL Server 2016 многопоточность AlwaysOn - не совсем многопоточность. На каждую БД есть один процесс DB STARTUP который распределяет нагрузку до 16 потоков PARALLEL_REDO на одну БД. И этот процесс DB STARTUP является bottleneck. Большое отставание на secondary нодах для нас неприемлемо. Что можно попробовать сделать чтобы ускорить репликацию? Какие есть workaround кроме разделения БД на несколько? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 09:24 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
Важно не просто разделить базу, а снизить транзакционную нагрузку - она влияет на очереди REDO. В 2016 сделали очень многое, что бы добавить параллельную обработку очереди REDO - так что это может сильно помочь и может не понадобиться что-то менять. Кстати, там в CU5 пофиксили баги производительности. Помогает размещение журналов на обоих "концах" на SSD. Постарайтесь отказаться от длинных транзакций и аккуратно планировать операции перестроения индексов и процессинга - следите во время их исполнения за очередью. Обязательно позаботьтесь, что бы у журналов был запас свободного места - они же у вас "пухнут"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 15:42 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
Александр, привет! Это Некошнов. Не можем победить эту штуку никак. У нас железо топовое по всем компонентам (1TB RAM, 160 Core CPU, RAD10 из 6 SDD Enterprise-класса под данные и такой же под логи, 40 Gbps сеть). Это железо простаивает, нагрузки крохотные. Нет никаких проблем с размерами логов или производительностью дисков. Они могут пережевать в 100 раз большую нагрузку (на синтетических тестах легко гонялись 6GB/sec). Тем не менее, 55 MB/sec на репликацию - это приговор. Единственное, что мы придумали - это разнести таблицы по кускам на разные бд, т.к. лимит -- 55 МБ/сек на каждую бд. Затем объединить все это с помощью federated views. Еще не тестировали, но, даже если это поможет, то будут проблемы с согласованностью бэкапов. Конечно, проверим SQL2017, но нигде не видели упоминания, что именно эта проблема там исправляется. Мы не можем сократить размеры транзакций и т.п., весь вопрос в том, как обойти этот лимит по скорости репликации. Собственно, есть ли идеи, как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 13:45 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
Только предстоят теже пляски. Как идея - может Resumable online index rebuild поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 13:59 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
George NСобственно, есть ли идеи, как это сделать?имхо, при таком энвайременте и, насколько я понимаю, критичности вопроса, отчего не спросить у MS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 14:02 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
George N, Привет. Не смог MS пока в нормальный AlwaysOn. За три года на 2012 мы всякого тут навидались, вот буквально сегодня сделал таки failoverна ноду с 2016 сервером... Если по сабжу, придется подстраиваться: 1. Базы попилить должно помочь до какого-то момента. 2. Все тяжелые операции придется делать в lazy режиме. Т.е., к примеру, не сразу все записи в таблице одним стейтментом в N-дцать потоков апдейтить, а по чуть-чуть, в цикле, а между итерациями проверять, не выросла ли очередь на redo. 3. С индексами особая попаболь: если есть возможность, пилить на секции и ребилдить посекционно (в 2016 уже можно онлайн). Создание индекса -- особая печаль: или извращаться с resource-гувернером, зарезая iops, чтобы очередь не росла, либо щупать rusumable-операции в 2017. Ну и придется завести вот такой джоб все равно: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 14:13 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
Спасибо, будем пробовать resumable операции на 2017. Governor тоже подстроим, чтоб лаги по реплике снизить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 15:05 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, Привет :) ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 15:25 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
and.dba Вот здесь вот ( http://www.sqlsaturday.com/SessionDownload.aspx?suid=12181) пишут: SQL Server 2012 single threaded redo - ~45MB/sec SQL Server 2016 multi-threaded redo - ~600MB/sec Хотя непонятно что именно значат эти цифры и откуда их взяли Очень непонятная цифра для 2012-го. Шон Галларди таки себя пяткой в грудь бил и говорил, что в 2012-м можно разогнать до 200 Мбайт/сек на сетке 10Gbit и на SSD Storage после того, как они в CU1 для 2012 SP2 исправили выставление фиксированного "TCP window size" для клиентских соединений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 15:27 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
George N, Шон сейчас как-то неактивен, потыкайте палкой Райна Адамса, который в прошлом году в Редмонд пришел и уже успел MVP получить по MSSQL, они вместе пилят AlwaysOn, если я ничего не путаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 15:44 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPШон сейчас как-то неактивен на этот раз дарагуля как-то плохо в интернете порылся. последний ответ Gallardy 15 часов назад: answer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 15:51 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
Yasha123, Аня, поскольку мы люди разного пола, возраста, происхождения и социального статуса - то и понятие "неактивен" воспринимаем по-разному. При всем моем неуважении к Вам лично я таки сделаю Вам пояснение - неактивность я воспринимаю как пониженную активность в социальных сетях и прочих коммуникационных средах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 16:53 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
and.dba, Кстати, можете еще Боба потыкать , он умный, графики красивые рисует, вот пусть он и ответит, как же так и кто виноват. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 17:18 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, балабол, какой смысл ваших комментариев если 99% из них вы сообщаете: "жалуйтесь в профсоюз"? Секретарь профсоюза? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 18:25 |
|
||
|
Ограничение скорости репликации AlwaysOn порядка 50МБ/сек?
|
|||
|---|---|---|---|
|
#18+
Да уж. Грех нам жаловаться, когда Data Guard (на Oracle аналог Always On) начинает подтормаживать при нагрузке на транзакционный журнал более 300 Мб/секунду :) Ну, кстати, инженеры из Kaspersky года 3-4 назад жаловался, что у них Always On не справляется. Неужели за это время не порешали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 03:37 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39628447&tid=1689946]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 427ms |

| 0 / 0 |
