Назад | Перейти на главную страницу

Как выполнять периодический мониторинг производительности Sql Server и устранение неполадок?

Какие инструменты и процессы лучше всего подходят для периодического мониторинга и устранения проблем с производительностью сервера sql?

Мы используем SQLH2 (состояние и история SQL Server). Он создан как дополнительный пакет от Microsoft и имеет хороший набор готовых отчетов для серверов SQL, и это бесплатно!

Состояние и история SQL Server MSDN

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

Если вы начинаете замечать проблему либо из отчетов, либо из отчетов пользователей, вы начинаете изучать Perfmon и SQL Trace в поисках подсказок и более конкретной диагностики.

Я стал администратором базы данных в своей компании. Мне было поручено то же самое. Я наткнулся на блог Брент Озар об этом. Perfmon - отличный способ начать тестирование производительности. Более глубокий подход заключается в использовании SQL Server Profiler. Я только что скачал бесплатная электронная книга из редгейта.

Один из моих любимых на Sql Server 2005 - это статистика выполнения объектов. Весь мой доступ к данным осуществляется через хранимые процедуры, поэтому в этом отчете отображается статистика для всех процессов с текущими кэшированными планами.

Щелкните правой кнопкой мыши базу данных -> Отчеты -> Стандартные отчеты -> Статистика выполнения объекта

Все, что работает медленно или слишком часто, будет торчать, как больной палец.

SQL Server Profiler хорош.

Я написал статью для Simple Talk, в которой использовалось профилировщик для получения медленных запросов.

http://www.simple-talk.com/sql/performance/finding-the-causes-of-poor-performance-in-sql-server,-part-1/

Я обычно запускаю такую ​​трассировку еженедельно и сохраняю исторические результаты в таблице в базе данных мониторинга (где-нибудь, кроме рабочего сервера). Таким образом, довольно легко увидеть тенденции от недели к неделе.

Мы использовали инструмент с открытым исходным кодом под названием zabbix. http://www.zabbix.com - работает на mysql / php.

Он выполняет сбор и построение графиков perfmon. Также мониторинг / оповещение. Вы можете вытащить любой счетчик perfmon.

Некоторые статистические данные немного слабые, поэтому мы сбрасываем почасовую статистику в sql-сервер для пользовательских отчетов в службах отчетов, чтобы ответить на такие вопросы, как - когда мой сервер будет работать в среднем на 65% ЦП, если использование продолжается в линейном режиме. мода?

Я использовал отличный продукт Veritas I3, который отслеживает нагрузку на SQL-сервер и может дать вам рекомендации по отсутствующим индексам и т. Д.

В Veritas I3 вы можете видеть, сколько ЦП, ввода-вывода, памяти, плана выполнения и т. Д. Использует каждый отдельный оператор SQL.

Но я должен вас разочаровать, продукт не бесплатный. :(