Лучший способ ускорить MS SQL Server

Мне было интересно, есть ли у кого-нибудь общие вопросы системного администратора о том, как лучше всего настроить сервер MS SQL для повышения скорости. Я поместил файлы журнала на другой диск с собственным контроллером и переместил индексы на их диск, но на тот же контроллер, что и основные файлы данных.

Каким другим способом системный администратор может настроить сервер MS SQL, чтобы ускорить доступ к диску и время запросов?

Ответов (6)

Решение

Вопрос довольно общий, поэтому подойдет общий ответ:

  • Используйте быстрое оборудование. Имейте как можно больше оперативной памяти.
  • Если вы используете 32-битную ОС, пусть AWE работает, особенно если машина является выделенным сервером БД.
  • При использовании 64-битной ОС - даже лучше. Можно было бы с пользой использовать гораздо больше оперативной памяти.
  • Регулярно анализируйте индексы и производительность приложений. При необходимости перестраивайте индексы, создавайте новые, удаляйте старые и т. Д.
  • Изучите различные типы индексов - кластерные, секционированные и т. Д.
  • При необходимости используйте индексированные представления.
  • Советник по настройке БД может помочь.
  • Используйте решение LoadBalancing, чтобы иметь несколько серверов, на которых работает БД.
  • Понять природу приложения - приложения OLAP имеют другие потребности, чем приложения DataWarehousing. Это повлияет на структуру таблиц, размер диска и т. Д.

Используйте помощник по настройке ядра СУБД

Быстрые конфигурации RAID и много памяти.

Прежде всего, я бы попытался определить узкое место; Что можно улучшить больше всего / Какая часть вашей системы самая медленная?

Это твой код? (Соответствующие индексы, основанная на наборах обработка, по возможности избегайте курсоров, ...) Связано ли это с оборудованием? Это связано с конфигурацией? - журналы на отдельной файловой группе / отдельном диске - можно ли переместить некоторые таблицы в другую файловую группу, чтобы таблицы, которые часто объединяются в запросах, находились в отдельных файловых группах - часто ли вы перестраиваете индексы?

Будьте осторожны с DTA (советником по настройке). Все зависит от загруженности.

Быстрые вещи: лучше индексируйте. Ищите длинные или медленные запросы и добавьте сюда индексы для поддержки. Если это OLTP, не добавляйте слишком много индексов.

Напишите лучший код, разместите где-нибудь медленные запросы (здесь или на SQLServerCentral.com) и получите идеи по их ускорению

Больше памяти

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

В порядке влияния на производительность от наиболее важного к наименьшему:

  • Пишите более быстрый код, используя соответствующие определения данных и индексы
  • Используйте более быстрое оборудование
  • Уловки конфигурации, о которых вы здесь спрашиваете.

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

Конечно, если у вас есть конкретное необъяснимое узкое место, возможно, вам нужно что-то настроить. Но вы также должны поделиться этой информацией.