Что нужно учитывать при настройке зеркального отображения базы данных в SQL Server.

Переводы статьи Переводы статьи
Закрыть Закрыть
Код статьи: 2001270 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

При использовании зеркального отображения базы данных SQL server для отражения несколько баз данных, можно заметить, что снижает общую производительность сервера. Также вы можете заметить, что не удается создать зеркальную копию дополнительных баз данных на сервере.

Дополнительная информация

Необходимо принять во внимание следующие пять факторов при настройке зеркального отображения базы данных в среде SQL Server. Эти факторы не только повлиять на общую производительность системы, участвующих в зеркальном отображении базы данных, но также ограничить число баз данных, которые могут быть зеркальными на серверах.

Каждая из упомянутых проблем подробно ниже:

  • ОЗУ: для получения дополнительной информации по как доступной физической памяти влияет на производительность SQL Server, обратитесь к следующим статьям базы знаний Майкрософт.
    • 321363Настройка использования памяти с помощью параметров конфигурации в SQL Server
    • 316749Может быть недостаточно виртуальной памяти, при наличии большого количества баз данных в SQL Server



  • Процессор: зеркальное отображение базы данных ограничивается число потоков, доступных в SQL Server, который в свою очередь зависит непосредственно на вычислительные мощности компьютера. По умолчанию в SQL Server 2005 и более поздних «max worker threads» равно 0, что означает, что динамическое значение. Это значение автоматически корректируется на SQL Server при изменении вычислительной мощности.  SQL Server использует следующую формулу расчета максимальное число рабочих потоков

Для 32-разрядной операционной системы:

  • Общее число доступных логических ЦП < = 4: max worker threads = 256
  • Общее число доступных логических Процессора > 4: max worker threads = 256 + ((логических Процессоров - 4) * 8)

Для 64-разрядной операционной системы:

  • Общее число доступных логических ЦП < = 4: max worker threads = 512
  • Общее число доступных логических Процессора > 4: max worker threads = 512 + ((логических Процессоров - 4) * 16)

Можно определить количество рабочих потоков, доступных в SQL Server с помощью динамического административного представления (DMV) (столбец max_workers_count) sys.dm_os_sys_info.

Можно определить количество рабочих потоков, используемых в SQL Server с помощью динамического административного представления sys.dm_os_schedulers (сумма строки в столбце current_workers_count) (DMV).

Зеркальное отображение базы данных имеет следующие требования для рабочих потоков

  • Основной сервер: 1 глобальный поток и 2 потоков для каждой зеркальной базы данных.
  • Зеркальный сервер:
  • 64-разрядной архитектуры: 1 глобальный поток, 2 потоков для зеркальных баз данных и один дополнительный поток для каждой зеркальной базы данных для всех четырех ядер.

Например

  • 4 Процессора сервера требует 1 глобальный поток + (2 + 1) потоков / зеркально db.
  • На сервере ЦП 6-8 требует потоков (2 + 2) + 1 глобальный поток / зеркально db.
  • Для 32-разрядных архитектур: 1 глобальный поток + 10 потоков для зеркальной базы данных.
  • Следящий сервер: 2 глобальных потоков.

Сводка базы данных зеркального отображения требуется 2 потоков на основном сервере и по крайней мере 3-4 рабочих потоков на зеркальном сервере для каждой зеркальной базы данных в дополнение к 1 глобальный поток для каждого из них. Важно отметить, что эти вычисления только отражают число рабочих потоков, необходимых для Администрирование зеркального отображения базы данных и дополнительные потоки для активности ядра базы данных сервера. Если поместить все описанное выше в перспективе на системы x 64 с 32 ЦП у нас:

  • Максимальное число потоков исполнителей = 512 + (32-4) * 16 = 960
  • Максимальное количество зеркальной базы данных (следующий расчет предполагается создать зеркальную копию всех баз данных на основной и один зеркальный сервер. Так как количество потоков, необходимое на зеркальном сервере больше, чем на основной, мы должны использовать значения зеркальный сервер в наших вычислений).
    • # потоков, необходимых каждой зеркальной базы данных = (2 + 32/4) = 10 потоков для базы данных
    • Максимальное количество баз данных, которые могут быть зеркальными = 960/10 = 96

Тем не менее весь объем 960 потоков не доступны для выполнения зеркального отображения действия, как некоторые потоки назначаются активности ядра базы данных на сервере. В приведенные выше расчеты следует пояснить, что

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

Как вы видите, это ограничение даже быть ниже на 32-разрядных системах, так как общее число рабочих потоков на один и тот же тип системы просто 480.

  • HDD IO: , Если операции не жесткой горизонтальном положении, он войти диск на зеркальном сервере, быстро достаточно и вы используете высокий уровень безопасности, участник может возникнуть необходимость ожидания зеркала для подтверждения усиления защиты от записи журнала, прежде чем транзакциям, что приводит к низкой производительности. Также если вы решили создать зеркальную копию базы данных между двумя экземплярами SQL Server на одном компьютере объем операций записи будет дважды таким образом очереди диска может формы (длина очереди диска идеальным 0), SQL Server придется ждать выполнения перед транзакциям, а в крайних случаях можно заметить также события, связанные с этим вопросом, записываемый в SQL Server errorlogs операций:

16:30:02.140 2008-04-22 spid6s SQL Server обнаружил 2 экземпляров запросов ввода-вывода превышает 15 секунд для завершения файла [files\xxx F:\sql данных.MDF] базы данных [xxx] (5). 

Можно определить узкие места сумма дискового ввода-вывода в SQL Server в sys.dm_os_schedulers DMV (столбец pending_disk_io_count).

Настройка подсистемы ввода/вывода позволяет повысить пропускную способность помогут облегчить эту проблему (например, с помощью RAID-уровень, который обеспечивает более высокую производительность, разделения баз данных на отдельные массивы RAID), в зависимости от сложности конкретной подсистемы ввода/вывода. Также убедитесь, что система не является недостатке свободной памяти, это создаст добавлены давление ввода-вывода. Также убедитесь, что система не является недостатке свободной памяти, это создаст добавлены давление операций ввода-ВЫВОДА.

  • Сети:, Чтобы определить, является ли уровень активности помещает ограничения пропускной способности сети, необходимые для настройки зеркального отображения и оценить пропускную способность сети должна с различными сценариями (высокая безопасность, высокая производительность) и нагрузки. Следующие счетчики монитора производительности могут быть использованы для установки, если пропускная способность, достаточно или в полном объеме:
  • Объект сетевого интерфейса.
  • SQLServer:DatabaseMirroring журнала/сек ' байт в основной базе данных. Это скорость отправки журнала.
  • Счетчик байт/сек ' байт после сжатия журнала SQLServer:DatabaseMirroring на основном сервере базы данных (новая возможность в 2008 г.). Это. Сжатый размер в байтах, отправленных и является подмножеством счетчик байтов журнала/сек.
  • Счетчик КБ очередь отправки журнала SQLServer:DatabaseMirroring в основной базе данных. Это объем журнала еще для отправки на зеркальный сервер.
  • Счетчик SQLServer:DatabaseMirroring журнала Harden время (мс) на зеркальном сервере базы данных (новая возможность в 2008 г.). Это время записи полученных журнала на диск.
  • SQLServer:DatabaseMirroring журнала/сек ' байт в зеркальной базе данных. Это частота получения журнала.
  • Получено/сек-счетчик байт после сжатия журнала SQLServer:DatabaseMirroring на зеркальной базы данных (новая возможность в 2008 г.). Это сжатый размер полученных байтов, является подмножеством счетчика Получено байт журнала/сек.
  • Вернуть SQLServer:DatabaseMirroring байт/сек на зеркальной базе данных. Скорость выполнены повторно этого журнала.
  • Счетчик КБ очереди повторов SQLServer:DatabaseMirroring в зеркальной базе данных.
Это объем журнала, который еще должен быть перезаписан
  • Время подтверждения отправки и получения SQLServer:DatabaseMirroring счетчика в зеркальной базе данных.
  • SQLServer:Databases счетчик Transactions/sec в зеркальной базе данных.

    Вот немного более подробного объяснения и что можно использовать эти новые счетчики производительности для устранения неполадок (ссылка: Пол Рэндал этого блога)

    • Журнал отправленных сжатых байт/с
      • Эти простые счетчики и может использоваться с байтов журнала/сек и получено/сек счетчики определить степень сжатия. Другое усовершенствование в SQL Server 2008 — это сжатия потока журнала и включен по умолчанию.
    • Журнал Harden время (мс)
      • Измеряет задержку между зеркальный сервер получает часть журнала транзакций и он записаны на диск журнала зеркальной базы данных (то есть задержка перед фрагмента данных журнал транзакций становится частью очереди повторов на зеркальном сервере).
      • Если это число больше, чем обычный это означает, что диск журнала зеркальной базы данных более сильно загружен и может быть стать насыщенными.
    • Время подтверждения отправки и получения
      • Как документации упоминания, это может использоваться для измерения задержки сети между основным и зеркальным серверами.
      • Если это значение больше, чем обычный она свидетельствует о наличии узкого места сети между основным и зеркальным серверами

    Можно также найти некоторые дополнительные сведения о некоторых из этих счетчиков производительности в SQL Server 2005 технические статьи на зеркальное отображение базы данных.

    В случае реализации зеркального отображения для тестирования параметр можно использовать один из следующих методов Чтобы получить представление о производительности сети.

      • Используйте средства сторонних вроде Iperf для оценки производительности вашей сети. Ниже приведены инструкции для имитации зеркального отображения производительности с помощью этого инструмента.

        • Чтобы получить справку с помощью этого средства запуска:iperf--справки

        • Для запуска сервера (основной):iperf -s-p5001 - fKB-w65536

        • На стороне клиента (зеркальная) выполнить:iperf - c < имя хоста или IP-адрес сервера > -d-потреблял-w65536

    Отказ от ответственности:сведений и решений в настоящем документе представляет текущую точку зрения корпорации Майкрософт этих вопросов на дату публикации. Это решение доступно в корпорацию Майкрософт или стороннего поставщика. Корпорация Майкрософт рекомендует специально любого стороннего поставщика или сторонних решений, описываемых в этой статье. Также возможны другие сторонних поставщиков или сторонних решений, упомянутых в этой статье. Поскольку корпорация Майкрософт должна реагировать на изменяющиеся условия рынка, эта информация не интерпретируются как обязательство корпорации Майкрософт. Microsoft не может гарантировать или одобряет точность сведений и решений, предоставленных корпорацией Майкрософт или любой упомянутыми сторонними разработчиками.

    Корпорация Майкрософт не предоставляет никаких гарантий и не содержит все представления, гарантий и условий ли прямых, косвенных или установленных законом. Они включают, но не ограничиваются, гарантий, условий или заголовок, НЕНАРУШЕНИЯ, исправив ошибку, любые гарантии товарности или пригодности для определенной цели, с помощью продукта, решения, любые службы или другие материалы или сведения. Ни будет корпорация Майкрософт не несет ответственности за любые решения независимых производителей, упомянутые в данной статье.

      • Убедитесь, что имеется достаточный запас (меньше 66% используются, как правило) на ЦП и ДИСКОВОГО ввода-ВЫВОДА на рабочем сервере, и того же уровня могут поддерживаться возможному зеркальный сервер базы данных.

      • Задержки сети, с помощью команды ping проверьте и исследования способов снижения так же, когда это возможно.

      • Периодически проверяйте значение столбца is_send_flow_controlled в sys.dm_db_mirroring_connection динамические административные представления (DMV). Если вы обратите внимание, что это значение равно 1 большую часть времени, а затем очень хорошее означает, что задержка сети влияют на пропускную способность зеркального отображения.

    Чтобы уменьшить воздействие задержек в сети на пропускную способность зеркального отображения базы данных, необходимо учитывать следующее:

    • Гигабитные сетевые адаптеры
    • Выделенные сетевые адаптеры для зеркального отображения.
    • В среде SQL Server 2008 с помощью функции «Сжатия потока журнала».(которая включена по умолчанию). В результате трафик зеркального отображения для сжатия перед отправкой по сети. Хотя это уменьшает требования к пропускной способности сети для зеркального отображения он приведет к ЦП, чтобы увеличить, как он будет тратить время в сжатия и распаковки и, возможно, тяжелее обычной рабочей нагрузки на основной сервер.

    • Количество рабочих потоков, которые в данный момент используются (ЦП).
    • Сетевой bandwidth(NETWORK).
    • Количество операций записи/чтения на носителе (HDDIO).
    • Свободной памяти в системе.(ОЗУ)

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

    Действия для воспроизведения:

    Зеркальное отображение базы данных в виртуальной среде с только 1 монитор количество используемых рабочих потоков и ЦП. Обратите внимание, что из-за отсутствия активности на сервере вы сможете зеркальное отображение баз данных более 20. Отразить максимально возможное количество баз данных, а затем смоделировать нагрузку на сервер, с помощью утилиты тестирования для SQL Server. Затем можно использовать DMV (панели мониторинга производительности) и/или счетчики производительности для оценки влияния не так много зеркальных баз данных и активных пользователей на сервере. Можно также удалить некоторые из зеркального отображения для просмотра как повышает производительность как рабочие потоки освобождаются.

    Полезные ссылки:

    Общие:

    Блоги:
    время ожидания при сбое и партнеров
  • SQL Server 2008:

    SQL Server 2005

  • Примечание. Это ЭКСПРЕСС-ПУБЛИКАЦИЯ, подготовленная непосредственно службой технической поддержки Майкрософт . Сведения, содержащиеся в данном документе, предоставлены в качестве отклика на возникшие проблемы. Из-за срочности в материалах могут быть опечатки, и в любое время и без уведомления в них могут быть внесены изменения. Чтобы получить дополнительные сведения, см. Условия использования.

    Свойства

    Код статьи: 2001270 - Последний отзыв: 4 февраля 2011 г. - Revision: 6.0
    Информация в данной статье относится к следующим продуктам.
    • Microsoft SQL Server 2005 Developer Edition
    • Microsoft SQL Server 2005 Enterprise Edition
    • Microsoft SQL Server 2005 Standard Edition
    • Microsoft SQL Server 2008 Developer
    • Microsoft SQL Server 2008 Enterprise
    • Microsoft SQL Server 2008 Standard
    Ключевые слова: 
    kbmt KB2001270 KbMtru
    Переведено с помощью машинного перевода
    ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
    Эта статья на английском языке:2001270

    Отправить отзыв

     

    Contact us for more help

    Contact us for more help
    Connect with Answer Desk for expert help.
    Get more support from smallbusiness.support.microsoft.com