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

Откуда:
Сообщений: 1130
Здравствуйте,

Основной сервер и зеркало SQL Server 2008 (SP4) - 10.0.6000.29 (X64), enterprise
Сервера связаны двумя линиями по 1GB.
Зазеркалированы несколько баз с исплользованием "свидетеля", режим "безопасный"

Вчера, в часы пиковой нагрузки моноторинг задржек "\\SQL Server:Database Mirriring(Database1)\Transaction Delay" показал:

Database1: avg 14 ms; max 2,5 sec
Database2: avg 322 ms; max 24 sec
Database3: avg 708 ms; max 55 sec

Дата и лог для Database3 лежат на выделенном SSD - на обоих серверах.
Минитириг SSD диска для Database3 (физ. диск, % Disk Time, Avg. Disk sec/Transfer) не паказал проблем.
Процессоры, память не перегружены.
Блокировок нет.

В результате пока пришлось отключть зеркалирование для Database3.
В каком направлении двигаться, чтобы понять (и устраниить) причины высоких задержек зеркалирования?
29 ноя 17, 11:49    [20991176]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование: проблемы производительности  [new]
tazzman
Member

Откуда:
Сообщений: 15
Alexander Us,

Как это зеркалирование на 3 сервера? Разные базы зеркалятся на 2 разных сервера?
Латчи были? Если да, то с каким ожиданием?
Что показывают другие счётчики:
Send/Receive Ack Time - на первичной реплике
Log Send Queue KB - на первичной реплике
Redo Queue - на вторичной реплике
?
29 ноя 17, 12:03    [20991248]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование: проблемы производительности  [new]
Alexander Us
Member

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

зеркалирование не на три, на два (основной, зеркало) ну и свидетель.
Зеркалированные базы, которые я перечислил - их три.
29 ноя 17, 12:12    [20991285]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование: проблемы производительности  [new]
tazzman
Member

Откуда:
Сообщений: 15
Alexander Us
tazzman,

зеркалирование не на три, на два (основной, зеркало) ну и свидетель.
Зеркалированные базы, которые я перечислил - их три.


Понял. А вторичная реплика для Database3 тоже с SSD-дисками?
29 ноя 17, 12:23    [20991341]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование: проблемы производительности  [new]
komrad
Member

Откуда:
Сообщений: 5244
Alexander Us
Здравствуйте,

Основной сервер и зеркало SQL Server 2008 (SP4) - 10.0.6000.29 (X64), enterprise
Сервера связаны двумя линиями по 1GB.
Зазеркалированы несколько баз с исплользованием "свидетеля", режим "безопасный"


вам "безопасный" режим добавляет величину пинга между серверами в ваши транзакции
включите асинхронный режим, если позволяет бизнес-логика

https://technet.microsoft.com/en-us/library/cc917681.aspx

цитата
Transaction Delay: Delay (in milliseconds) in waiting for commit acknowledgement from the mirror. This counters reports the total delay for all the transactions in process at that time. To determine the average delay per transaction, divide this counter by the Transactions/sec counter. When running asynchronous mirroring this counter will always be 0.
29 ноя 17, 12:36    [20991411]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование: проблемы производительности  [new]
Alexander Us
Member

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

да, вторичная реплика для Database3 тоже с SSD-дисками
29 ноя 17, 12:43    [20991460]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование: проблемы производительности  [new]
Alexander Us
Member

Откуда:
Сообщений: 1130
tazzman
Alexander Us,

Как это зеркалирование на 3 сервера? Разные базы зеркалятся на 2 разных сервера?
Латчи были? Если да, то с каким ожиданием?
Что показывают другие счётчики:
Send/Receive Ack Time - на первичной реплике
Log Send Queue KB - на первичной реплике
Redo Queue - на вторичной реплике
?


Так как зеркалирование для Database3 сейчас отключено, привожу данные по Database2 - она ещё зареркалирована.
Там схожая ситуация с задержками, но она лежит на нормальных дисках.

Redo Queue - на вторичной реплике в нулях.
Что на первичной реплике - см. приложенную картинку.

К сообщению приложен файл. Размер - 15Kb
29 ноя 17, 13:16    [20991624]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование: проблемы производительности  [new]
tazzman
Member

Откуда:
Сообщений: 15
Alexander Us,

Как и написал komrad, можно перевести зеркало для нагруженных баз в асинхронный режим, если позволяет бизнес-логика (автоматическое переключение работать не будет). Если не позволяет, надо копать в сторону сети, поскольку по счётчикам ничего криминального не видно.
Может ли возникать дополнительная нагрузка на сеть, влияющая на время отклика, во время воспроизведения проблемы? Может быть идёт бэкап или нагрузка от других источников?
Вот довольно крутая статья на тему мирроринга, до сих пор актуальна: https://technet.microsoft.com/en-us/library/cc917681.aspx
А вот встроенный инструмент для мониторинга зеркалирования: https://docs.microsoft.com/en-us/sql/database-engine/database-mirroring/monitoring-database-mirroring-sql-server
30 ноя 17, 10:53    [20994559]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить