Как проверить производительность базы данных SQL Server? - PullRequest
6 голосов
/ 11 сентября 2011

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

Через некоторое время я вижу, что мой ЦП начал расти, и он не такой быстрый, как 30-50 секунд для тех же запросов.

Я проверил sp_who2, нет блокирующих транзакций.Я перестроил индекс.Изменения по-прежнему медленные

Каков наилучший способ устранения такого поведения?Как улучшить производительность?

Вот мой диспетчер задач

enter image description here

Ответы [ 3 ]

3 голосов
/ 03 октября 2011

Я нюхаю проблему с давлением памяти. Буфер страницы может быть переполнен или получено какое-то другое ограничение памяти. Начните с мониторинга основных счетчиков производительности системы, таких как:

  • загрузка процессора
  • Ошибка страницы
  • Дисковая ч / б очередь
  • Диск r / w время

Захватывайте их с момента перезагрузки машины, а затем наносите на карту с помощью Excel или другого графического инструмента. Добавьте несколько счетчиков SQL в смесь. Есть много ресурсов онлайн, если вы ищете "coutners монитора производительности сервера sql". Попробуйте счетчики производительности, упомянутые здесь: http://www.sql -server-performance.com / 2007 / performance-monitor-general /

Важно наблюдать за прогрессом во времени и соотносить его с другими показателями и достигнутыми показателями.

Еще одна вещь, которую нужно искать, это перекомпиляция плана. Проверьте наличие SP:Recompile событий в трассировке Profiler и посмотрите, не связаны ли они с ухудшением производительности. - ref https://support.microsoft.com/en-us/kb/243586

2 голосов
/ 14 сентября 2011
  • В разделе Свойства сервера вы можете вручную указать, сколько процессоров вы хотите использовать в sql

enter image description here

  • Убедитесь, что у вас есть все обновления Windows, применяются пакеты обновления
  • Без запуска приложения базы данных, только при запущенном SQL Server проверьте, сколько памяти используется
  • Лучший подход - запускать SQL Profiler для шаблона производительности. enter image description here
  • Воспользуйтесь помощником по настройке базы данных, чтобы просмотреть рекомендации (http://www.youtube.com/watch?v=gjT8wL92mqE)
0 голосов
/ 16 сентября 2011

Звучит так, как будто это может быть проблема с диском. Убедитесь, что ваш SQL endine сконфигурирован (макс. Память) меньше, чем (свободно) доступно в вашей системе.

Это виртуальная машина? Является ли база данных большой - SQL продолжит захватывать память, если она там есть - даже если память на жестком диске - что по своей сути медленное

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