Как я могу улучшить производительность зеркалирования сервера SQL
(сохранено из stackoverflow)
Я настроил зеркальное отображение SQL-сервера, используя 2 стандартных выпуска SQL Server 2005. Когда приложение находится в состоянии стресса, время отклика увеличивается в 10 раз. Я точно определил это с зеркалом, потому что приостановка зеркала показывает приемлемое время отклика.
Какие варианты доступны для достижения лучшей производительности? Обратите внимание, что я использую Standard Edition, поэтому отличный высокопроизводительный режим недоступен.
Сервер находится в одной стойке, подключен к гигабитному коммутатору.
Вот код, используемый для создания конечных точек:
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 ответа
Имеет ли связь между принципом и зеркалом достаточную пропускную способность, чтобы справиться с генерацией журнала транзакций в принципе?
Ваши файлы журнала оптимизированы? Смотрите эти ссылки:
http://www.sqlskills.com/BLOGS/KIMBERLY/post/8-Steps-to-better-Transaction-Log-throughput.aspx
Хотя приостановка зеркала помогает, это не может быть реальной причиной вашей проблемы. По моему опыту, использование синхронного зеркала только удваивает время отклика. Если вы видите время отклика, которое ухудшается при более высоких нагрузках, вероятно, что-то еще будет в движении.
Несколько вещей, чтобы подумать и попробовать:
- Убедитесь, что сервер не в недостаточной мощности (процессор / память)
- Убедитесь, что сеть не является узким местом (напрямую подключив два сервера SQL и заставив зеркальный трафик проходить по этой прямой ссылке)
- Убедитесь, что входы / выходы не являются узким местом (хотя мне это кажется маловероятным, учитывая увеличение времени отклика в 10 раз только при включенном зеркалировании). Применяются обычные вещи: улучшенный аппаратный RAID/ кеш, отдельные устройства, ...
- Режим высокой производительности является асинхронным. Если с вами все в порядке, вы можете использовать репликацию, а не зеркалирование. (Я забыл термин MS для этой функции.)