2008-10-22 2 views

ответ

5

Шаг 1: Установите SQL Server Performance Dashboard.

Этап 2: Прибыль.

Серьезно, вы хотите начать с изучения этой приборной панели. Подробнее об установке и использовании можно найти here и/или here

1

У меня был хороший успех на с инструментами Tuning Database, расположенных внутри SSMS или SQL Profiler при работе с SQL Server 2000.

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

+0

Спасибо за ответ, это SQL Server 2005 - но я считаю, что мастер настройки базы данных по-прежнему существует (я обновил вопрос) – digiguru 2008-10-22 15:21:07

0

Я использую несколько разных приемов.

Если вы пытаетесь оптимизировать определенный запрос, используйте Query Analyzer. Используйте инструменты там, как показано план выполнения и т. Д.

Для вашей ситуации, когда вы не уверены, какой запрос выполняется медленно, одним из самых мощных инструментов, который вы можете использовать, является SQL Profiler.

Просто выберите базу данных, которую вы хотите профилировать, и пусть это сделает свое дело.

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

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

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

1

Я использую SQL Profiler, который поставляется с SQL Server. Большинство низкопробных запросов, которые я нашел, не используют много CPU, а генерируют тонну дискового ввода-вывода.

Я стараюсь размещать фильтры на дисках и искать запросы, которые, как правило, читают более 20 000 или около того. Затем я просматриваю план выполнения тех запросов, которые обычно дают вам информацию, необходимую для оптимизации запроса или индексов в соответствующих таблицах.

3

Для выявления проблемных запросов начать Profiler, выберите следующие события:

  • TSQL: BatchCompleted
  • TSQL: StmtCompleted
  • SP: Completed
  • SP: StmtCompleted

фильтр выход, например,

  • Длительность> х мс (например, 100 мс, зависит в основном от потребностей и типа системы)
  • CPU> у мс
  • Читает> г
  • Записывает> ш

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

Его полезно записывать вывод в таблицу базы данных для последующего анализа. Его также полезно запускать системный монитор Windows параллельно с просмотром загрузки процессора, диска io и некоторых счетчиков производительности SQL Server. Настройте sysmon для сохранения данных в файл.

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

После получения некоторого результата из профилировщика вы можете остановить профилирование.

Затем загрузите сохраненные данные из таблицы профилирования в профилировщик и используйте importmenu для импорта вывода из системного монитора, а профилировщик будет сопоставлять вывод sysmon с вашими данными профилировщика sql. Это очень приятная функция.

В этом представлении вы можете сразу идентифицировать bootlenecks относительно вашей памяти, диска или системы процессора.

Когда вы определили некоторые запросы, которые хотите оммитизировать, перейдите к анализатору запросов и просмотрите план выполнения и попытайтесь омметизировать использование индекса и дизайн запросов.