Как вы можете получить конкретные показатели производительности базы данных для таких вещей, как процессор / память / и т. Д. в SQL Server 2005? - PullRequest
0 голосов
/ 18 сентября 2008

У меня есть пара баз данных в общем экземпляре кластера SQL Server 2005, для которых я хотел бы получить показатели производительности. У меня есть некоторые процессы, которые выполняются в течение очень долгого времени, и подозреваю, что виноваты неэффективность кода, а не недостаточное оборудование.

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

Ответы [ 3 ]

1 голос
/ 18 сентября 2008

Я только что прочитал отличную статью об использовании окон, встроенных в typeperf.exe, только для этой проблемы. http://www.mssqltips.com/tip.asp?tip=1575

1 голос
/ 18 сентября 2008

Ах, похоже на работу для SQL Profiler. http://msdn.microsoft.com/en-us/library/ms181091(SQL.90).aspx

1 голос
/ 18 сентября 2008

Это сложно ... вы можете использовать монитор производительности для отслеживания аппаратных и операционных факторов - таких как загрузка процессора, память; а также различные счетчики SQL Server, такие как количество запросов в секунду. Очевидно, что использование памяти сообщит вам, если вам нужно больше оперативной памяти, но не так просто определить, является ли (скажем) высокая загрузка ЦП из-за неэффективного кода или просто интенсивного кода.

Некоторые счетчики более полезны для устранения проблем производительности ino - такие вещи, как блокировки в БД, можно сосчитать, проблема в том, что вы не можете сказать, сколько слишком много, потому что весь код работает по-разному. Вы можете сказать, испытываете ли вы слишком много или периоды медлительности приравниваются к большому количеству. Это относится и к различным другим счетчикам - иди и посмотри, что там есть.

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

Наконец, найдите инструмент, подобный Spotlight, который собирает много статистических данных базы данных и отображает их вам подробно.

...