AlwaysOn группы доступности log_send_rate


8

На всех наших установках AlwaysOn, работающих под управлением Windows 2012 и SQL Server 2012 на виртуальных машинах и на голом железе, я обнаружил, что log_send_rate in sys.dm_hadr_database_replica_statesпоследовательно возвращает неправильные значения.

Например (для синхронного режима)

sys.dm_hadr_database_replica_states.log_send_rate (ave = 36,571 (кбит / с указано в болях))

Perfmon - SQLServer: реплика доступности - количество байтов, отправленных в реплику / сек (макс. = 486 000 000, среднее значение = 259 000 000)

Perfmon - SQLServer: Базы данных - количество очищенных байтов журнала / сек (макс. = 653 044 000, среднее значение = 341 000 000)

Я не видел сообщений об этом, но, похоже, он работает неправильно. Правильное log_send_rateзначение полезно для мониторинга AlwaysOn.

Кто-нибудь еще испытывал это?


Рассматривали ли вы сделать отчет на connect.microsoft.com ?
Макс Вернон,

Как настроен AlwaysON - синхронный или асинхронный режим? Есть ли какая-либо репликация?
Кин Шах

Вы sys.dm_hadr_database_replica_statsимели в виду , потому что DMV, который вы отметили, не содержит log_send_rateстолбца. Также и DMV, который сообщает об этом, показывает КБ / сек. В этой статье TechNet по устранению неполадок отмечается сравнение этого значения со счетчиком Log Bytes Flushed/secпроизводительности. Это то, на что вы ссылаетесь?

Спасибо за отзыв, я обновил вопрос, чтобы быть более точным. Я планирую сделать отчет при подключении, но сначала я хотел посмотреть, согласен ли кто-нибудь, что номер выглядит неправильно.
Джонволдс

Ответы:



0

Причина, по которой log_send_rateredo_rate) немного сложнее для понимания и «корреляции», особенно когда мы привыкли к передаче данных в непрерывном типе мышления, заключается в том, что эти две скорости рассчитываются в течение активного времени, а не всегда ,

Другими словами, он log_send_rateбудет корректироваться при отправке блоков журнала, но не отключится, когда будет тихо, и основная реплика ожидает отправки журнала. Точно так же, наоборот, на вторичных с redo_rate.


0

Я рассматривал значения log_send_rate как часть устранения проблемы с задержкой, возникшей в одной из наших производственных сред.

Я предложил Microsoft, что их определение поля неверно, как упомянуто здесь ( http://technet.microsoft.com/en-us/library/ff877972(v=sql.110).aspx ). «Скорость, с которой записи журнала отправляются во вторичные базы данных, в килобайтах (КБ) / секунду».

Я думаю, что мое определение ниже лучше. Это ... «Скорость, с которой записи журнала удаляются из очереди отправки», а записи журнала могут быть удалены из этой очереди только тогда, когда они уже усилены на всех вторичных серверах, и это может произойти только тогда, когда они уже были отправлено и получено, независимо от того, сколько времени потребовалось, чтобы эти записи пришли, и сколько времени понадобилось для их закаливания и сколько времени потребовалось, чтобы вторичное устройство отправило подтверждение обратно первичному.

Это совсем другое определение, даже если они выглядят одинаково. Данные могут быть удалены из локальной очереди памяти (log_send_queue) гораздо быстрее, чем они могут быть отправлены вторичному устройству в другом регионе, стране или центре обработки данных.

Nikos

@ Томас (я все еще слишком нуб, чтобы добавлять здесь комментарии, извинения. Если проще, я могу предоставить свою рабочую электронную почту, и мы можем обсудить в автономном режиме и обновлять здесь, когда достигнут консенсус?) Привет, Томас

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

Дело в том, что поле «log_send_rate» в DMV фактически не является скоростью, с которой записи журналов отправляются репликам.

Точнее говоря, это скорость, с которой записи журналов удаляются из очереди отправки, ПОСЛЕ того, как они УЖЕ были отправлены на вторичный сервер, усилены на вторичном сервере и затем отправили подтверждение обратно на первичный сервер. Только тогда они могут быть удалены из основной очереди отправки.

Это совершенно иное значение, чем указано в ссылке, которую я включил в свой первый пост. Также гораздо легче увидеть расхождение, когда вы имеете дело с межрегиональными (например, из Лондона в Нью-Йорк) тарифами на отправку, а не с тарифами на отправку из и в местный центр обработки данных.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.