Назад | Перейти на главную страницу

Как повысить производительность зеркального отображения SQL-сервера

(репост из stackoverflow)

Я установил зеркальное отображение SQL-сервера, используя 2 стандартных редакции SQL Server 2005. Когда приложение подвергается стрессу, время отклика увеличивается в 10 раз. Я определил это по зеркалу, потому что пауза в зеркале показывает приемлемое время отклика.

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

Сервер находится в той же стойке, подключен к гигабитному коммутатору.

Вот код, используемый для создания конечных точек:

CREATE ENDPOINT [Mirroring] 
    AUTHORIZATION [sa]
    STATE=STARTED
    AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
    FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE
, ENCRYPTION = REQUIRED ALGORITHM RC4)

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

Несколько вещей, о которых стоит подумать и попробовать:

  • Убедитесь, что сервер не имеет недостаточной мощности (ЦП / память)
  • Убедитесь, что сеть не является узким местом (напрямую подключив 2 SQL-сервера и заставив зеркальный трафик проходить по этой прямой ссылке)
  • Убедитесь, что ввод-вывод не является узким местом (хотя мне это кажется маловероятным, учитывая 10-кратное увеличение времени отклика только при включенном зеркалировании). Применяются обычные вещи: лучший аппаратный RAID / кеш, отдельные устройства, ...
  • Режим высокой производительности - асинхронный. Если вас это устраивает, тогда вы можете использовать репликацию, а не зеркалирование. (Я забыл термин MS для этой функции.)

Имеет ли связь между принципом и зеркалом достаточную пропускную способность, чтобы справиться с генерацией журнала транзакций в принципе?

Ваши файлы журналов оптимизированы? Смотрите эти ссылки:

http://www.sqlskills.com/BLOGS/KIMBERLY/post/8-Steps-to-better-Transaction-Log-throughput.aspx

http://sqlblog.com/blogs/linchi_shea/archive/2009/02/09/performance-impact-a-large-number-of-virtual-log-files-part-i.aspx