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

Какие оптимизации можно выполнить на SQL Server с SAN?

Этот вопрос является немного общим, поскольку я не использую SAN (сеть хранения данных).

Есть ли какие-либо оптимизации или изменения конфигурации, которые можно выполнить с помощью SAN для повышения производительности SQL Server?

Настройка, которую вы бы сделали с SAN, будет включать.

  1. Убедитесь, что у вас достаточно дисков для поддержки ваших требований ввода-вывода.
  2. Убедитесь, что mdf, ldf и tempdb разделены.
  3. Убедитесь, что базы данных с последовательным вводом-выводом (хранилища данных) находятся на разных шпинделях, чем базы данных со случайным вводом-выводом (OLTP).
  4. Уменьшите или отключите объем кеша чтения на LUN, которые поддерживают базы данных OLTP, поскольку они обычно не могут использовать кеш чтения.
  5. Максимально увеличьте количество белого кэша, чтобы избежать ситуации принудительной очистки.

Если у вас будет возможность побывать на саммите SQLPASS в Сиэтле в ноябре, я сделаю презентацию по хранилищу для администраторов баз данных, которая посвящена хранилищу SAN.

Взгляните на руководство Брента Озара по настройке SAN с помощью SQLIO:

http://sqlserverpedia.com/wiki/SAN_Performance_Tuning_with_SQLIO

Я использовал эту технику, чтобы определить узкое место в более старой удаленной сети SAN, где мы управляем системой OLTP (узким местом была только одна карта адаптера шины хоста).

Ознакомьтесь со следующими техническими рекомендациями:

http://technet.microsoft.com/en-us/library/cc966412.aspx

Затронуто в официальном документе - не забудьте установить правильные смещения для ваших томов, если вы не используете Windows 2008:

http://msdn.microsoft.com/en-us/library/dd758814.aspx

Как объяснил mrdenny, разделите файлы журнала и данных своей базы данных и базу данных tempdb и используйте соответствующий уровень RAID.

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

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

Это общий вопрос, однако лучшая оптимизация, которую вы можете сделать с SAN, на мой взгляд, - это первоначальное развертывание конфигураций LUNS и RAID.

Например, если у вас 24bay SAN, определение размера, конфигурации рейда и количества дисков, используемых на LUN. оттуда вы можете равномерно распределить дисковый ввод-вывод для SQL-сервера, оптимизируя то, что куда идет.

выделенный lun для баз данных чтения, баз данных с тяжелой записью или смешанных баз данных, tempdb и т. д.

дайте мне знать, если это поможет указать в правильном направлении, если у вас есть еще вопросы, не стесняйтесь задавать, удачного дня.

С уважением, Ник