Лучший способ ускорить работу сервера MS SQL - PullRequest
8 голосов
/ 24 февраля 2009

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

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

Ответы [ 6 ]

17 голосов
/ 24 февраля 2009

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

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

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

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

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

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

1 голос
/ 24 февраля 2009

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

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

1 голос
/ 24 февраля 2009

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

0 голосов
/ 24 февраля 2009

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

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

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

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

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

0 голосов
/ 24 февраля 2009

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

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