Поделиться через


Ограничение продолжительности и событий настройки

Управление сеансами настройки помощника по настройке компонента Database Engine производится ограничением времени настройки приложения или числа настраиваемых событий. Ограничения продолжительности анализа настройки полезно использовать, когда требуется настроить рабочий сервер во время обслуживания. Ограничение числа настраиваемых событий полезно при сравнении двух гипотетических конфигураций путем настройки одинаковой рабочей нагрузки для каждой из них.

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

Управление продолжительностью настройки

Помощник по настройке компонента Database Engine производит анализ рабочей нагрузки до тех пор, пока не найдет оптимальный набор физических структур производительности, возможных для данной базы данных. Занимаемое этим процессом время зависит от длины рабочей нагрузки. Для выполнения тщательного анализа рабочей нагрузки, содержащей сотни событий, помощнику по настройке компонента Database Engine может потребоваться несколько суток. Хотя во время анализа базы данных будут доступны, производительность может ухудшиться.

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

В графическом интерфейсе пользователя помощника по настройке компонента Database Engine данный параметр по умолчанию имеет значение 1 час. В программе командной строки dta установленный по умолчанию предел равен 8 часам. Если завершение анализа требует меньшего времени, чем установлено ограничением, настройка будет остановлена по завершении анализа. Для формирования лучшей из рекомендаций, возможной в интерфейсах обоих инструментов, можно указать неограниченное время настройки.

В следующих подразделах описан порядок задания этого параметра настройки в графическом интерфейсе пользователя и в командной строке.

Задание времени настройки в графическом интерфейсе пользователя

Чтобы задать ограничение времени настройки в графическом интерфейсе пользователя помощника по настройке компонента Database Engine, необходимо установить флажок Ограничить время настройки на вкладке Параметры настройки, а затем задать дату и время для параметра Остановиться.

Учитывается следующее:

  • Обычно, если указать более долгий период настройки, общие результаты будут лучше, так как будет проанализирован больший объем рабочей нагрузки. Рекомендации основываются на более полных сведениях.
  • По умолчанию, максимальный предел времени настройки равен 1 часу.
  • Для указания неограниченного времени настройки необходимо снять флажок Ограничить время настройки.

Задание времени настройки в программе командной строки dta

Чтобы задать предел времени настройки с помощью программы командной строки dta, необходимо указать значение аргумента -A. Рассмотрим, например следующую команду dta:

dta -E -s MySession -D AdventureWorks -if MyWorkloadScript.sql -fa IDX -A 120

где -E указывает доверенное соединение, -D указывает подлежащую настройке базу данных, -if — файл рабочей нагрузки, -fa IDX указывает, что помощник по настройке компонента Database Engine должен только добавить в рекомендации индексы, а -A 120 означает, что настройка должна быть завершена в течение 120 минут.

При выполнении программы dta из командной строки (вместо ее вызова в сценарии автоматической настройки) для остановки настройки нажмите клавиши CTRL+C. Помощник по настройке компонента Database Engine выдает рекомендации, исходя из объема рабочей нагрузки, отработанной на этот момент.

Учитывается следующее:

  • Обычно, если указать более долгий период настройки, общие результаты будут лучше, так как будет проанализирован больший объем рабочей нагрузки. Поэтому рекомендации основываются на более полных сведениях.
  • Чтобы указать настройку без ограничения времени, используйте аргумент командной строки –A 0. Этот аргумент используется для получения наилучших рекомендаций для всего объема рабочей нагрузки.
  • Если параметр –A не указан, используется значение по умолчанию –A 480 (время настройки — 8 часов).
  • Даже при нажатии клавиш CTRL+C программе dta может потребоваться некоторое время для заполнения отчетов об анализе, прежде чем она завершит свою работу.

Задание времени настройки во входном XML-файле

Максимальное время настройки можно задать также во входном XML-файле, который используется с программой командной строки dta. Для указания во входном XML-файле предельного времени настройки в минутах воспользуйтесь вложенным элементом TuningTimeInMin родительского элемента TuningOptions. Дополнительные сведения о входных XML-файлах см. в разделе Справочник по входному XML-файлу (DTA).

Управление числом настраиваемых событий

Пользователь имеет возможность управлять числом событий в рабочих нагрузках, настраиваемых помощником по настройке компонента Database Engine. Этот параметр доступен только из программы командной строки dta, с помощью аргумента –n. Работа программы dta при использовании аргумента -n зависит от значения, указанного для аргумента -A, который задает предел времени настройки следующими образом:

  • Программа dta прекращает работу после выполнения настройки указанного числа событий или после окончания указанного времени настройки, в зависимости от того, какое из этих условий выполняется первым. Если аргумент -n не указан, то по умолчанию программа dta производит настройку по всем событиям в рабочей нагрузке. Если не указан аргумент -A, то программа dta по умолчанию принимает предельное время настройки, равное 8 часам.
  • Для обеспечения настройки числа событий, задаваемого аргументом -n, рекомендуется установить значение 0 для аргумента -A, который задает неограниченное время настройки. Например, -n 250 -A 0.

Указание числа настраиваемых событий во входном XML-файле

Число событий для настройки можно задать также во входном XML-файле, который используется с программой командной строки dta. Для указания во входном XML-файле числа настраиваемых событий воспользуйтесь вложенным элементом NumberOfEvents родительского элемента TuningOptions. Дополнительные сведения о входных XML-файлах см. в разделе Справочник по входному XML-файлу (DTA).

Оптимальные методики ограничения времени и числа настраиваемых событий

Ниже приведены рекомендации по ограничению времени и числа настраиваемых событий.

  • Для единичных запросов и малых рабочих нагрузок (менее 100 событий) задайте неограниченное время настройки. Задание неограниченного времени настройки позволяет помощнику по настройке компонентаDatabase Engine выработать наиболее оптимальные рекомендации, а настройка в большинстве случаев завершается в относительно короткий период времени.
  • Для больших рабочих нагрузок (более 100 событий) попробуйте выполнить следующие операции в том порядке, в котором они перечислены. К последней операции (4) следует переходить только после выполнения первых трех.
    1. Если пользователь ограничен во времени, задайте предел времени настройки.
    2. Если настройка фиксированного числа событий дает адекватный результат (например, первые 10 000 событий могут репрезентативно представлять оставшуюся часть рабочей нагрузки), воспользуйтесь программой командной строки dta и укажите число событий с помощью аргумента –n.
    3. Если при использовании программы командной строки dta необходимо ограничить время настройки, можно воспользоваться обоими аргументами, –A и –n. Например, если указать -A 240 и -n 1000, то помощник по настройке компонента Database Engine остановит настройку после настройки 1000 событий или по истечении 4 часов — в зависимости от того, какое из этих условий будет выполнено первым.
    4. Время, затрачиваемое на настройку, зависит от сложности запросов (числа таблиц, к которым приходится обращаться), от выбранного набора характеристик (настройка индексированных представлений занимает больше времени, чем настройка индексов), а также от размера данных (для создания статистики). Как правило, большую часть времени помощник по настройке компонента Database Engine затрачивает на обращение к оптимизатору запросов. Для подсчета времени, которое необходимо выделить помощнику по настройке компонента Database Engine на настройку, существует следующее простое правило.
      Для простых запросов, обращающихся к одной, двум или трем таблицам, выделите около 1 секунды на запрос при настройке только индексов и около 10 секунд на запрос при настройке индексов и индексированных представлений. Для сложных запросов, обращающихся более чем к трем таблицам, выделите около 10 секунд на запрос при настройке только индексов и около 100 секунд на запрос при настройке индексов и индексированных представлений.
  • Если помощник по настройке компонента Database Engine показывает, что 100% рабочей нагрузки выработано, это означает, что вся рабочая нагрузка была проанализирована, но не обязательно означает, что она настроена. Чтобы узнать, была ли произведена настройка всей рабочей нагрузки, необходимо поискать в конце журнала настройки следующее сообщение:
    «Не все события рабочей нагрузки были оценены. Рекомендуется расширить временные границы следующими способами: (1) флажком "Ограничить время настройки" на экране "Параметры настройки" в DTAShell или (2) параметром -A в командной строке, или (3) параметром <TuningTimeInMin> в элементе <TuningOptions> входного XML-документа DTA».
    Наличие такого сообщения в конце журнала настройки означает, что помощник по настройке компонента Database Engine не успел выполнить полную настройку рабочей нагрузки. Для решения данной проблемы необходимо задать более длительное время настройки. Для гарантированного выполнения настройки всех событий в рабочей нагрузке следует установить неограниченное время настройки. Если не задан параметр неограниченного времени настройки, помощник по настройке компонента Database Engine попытается выполнить настройку наибольшего числа событий, которое возможно в указанное время.
  1. Если пользователь ограничен во времени, задайте предел времени настройки.
  2. Если настройка фиксированного числа событий дает адекватный результат (например, первые 10 000 событий могут репрезентативно представлять оставшуюся часть рабочей нагрузки), воспользуйтесь программой командной строки dta и укажите число событий с помощью аргумента –n.
  3. Если при использовании программы командной строки dta необходимо ограничить время настройки, можно воспользоваться обоими аргументами, –A и –n. Например, если указать -A 240 и -n 1000, то помощник по настройке компонента Database Engine остановит настройку после настройки 1000 событий или по истечении 4 часов — в зависимости от того, какое из этих условий будет выполнено первым.
  4. Время, затрачиваемое на настройку, зависит от сложности запросов (числа таблиц, к которым приходится обращаться), от выбранного набора характеристик (настройка индексированных представлений занимает больше времени, чем настройка индексов), а также от размера данных (для создания статистики). Как правило, большую часть времени помощник по настройке компонента Database Engine затрачивает на обращение к оптимизатору запросов. Для подсчета времени, которое необходимо выделить помощнику по настройке компонента Database Engine на настройку, существует следующее простое правило.
    Для простых запросов, обращающихся к одной, двум или трем таблицам, выделите около 1 секунды на запрос при настройке только индексов и около 10 секунд на запрос при настройке индексов и индексированных представлений. Для сложных запросов, обращающихся более чем к трем таблицам, выделите около 10 секунд на запрос при настройке только индексов и около 100 секунд на запрос при настройке индексов и индексированных представлений.

Примечание   Между режимами «Быстрый», «Средний» и «Тщательный» в мастере настройки индексов Microsoft SQL Server 2000 нет прямой зависимости от аргументов -A и -n помощника по настройке компонента Database Engine. Как правило, если выполнение настройки в одном из режимов («Быстрый», «Средний» и «Тщательный») в SQL Server 2000 занимает определенное время, то при использовании помощника по настройке компонента Database Engine в течение такого же времени будут получены аналогичные (или лучшие) рекомендации. При работе в режиме «Тщательный» рекомендуется использовать помощника по настройке компонента Database Engine с неограниченным временем настройки и неограниченным числом настраиваемых событий в рабочей нагрузке.

Дополнительные методы ограничения продолжительности настройки

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

Кроме того, доступны следующие функции:

  • сохранение всех существующих физических структур (PDS);
  • сохранение только индексов;
  • сохранение только кластеризованных индексов.

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

См. также

Основные понятия

Определение структуры физического проектирования
Ограничение места на диске, занимаемого рекомендуемыми конфигурациями
Сценарии для выбора параметров настройки
Неподдерживаемые параметры настройки

Справка и поддержка

Получение помощи по SQL Server 2005