На протяжении всего этого курса вы узнавали о средствах, которые можете использовать, и параметрах, которые можете регулировать для поиска и разрешения определенных проблем производительности. Например, в предыдущей лекции вы узнали, как выявлять проблемы, связанные с вашими операторами T-SQL и хранимыми процедурами, и как настраивать эти операторы и процедуры для получения оптимальной производительности. Назначение этой лекции – помочь вам легко находить информацию, необходимую для разрешения различных типов проблем производительности. В ней дается обзор связанных с производительностью тем, которые были изложены в других лекциях, даются ссылки на предыдущие лекции, где рассматриваются процедуры производительности, и приводится некоторая дополнительная информация о мониторинге производительности и настройке системы
Мы начнем с краткого описания термина "узкое место". Затем мы рассмотрим, как использовать Microsoft Windows 2000 System Monitor (Performance Monitor в Microsoft Windows NT) и Microsoft SQL Server Enterprise Manager, чтобы определить наличие какой-либо проблемы производительности. Затем мы рассмотрим, как разрешать целый ряд проблем производительности, возникающих на различных уровнях, включая уровень приложений, уровень SQL Server, уровень операционной системы и уровень оборудования. В этой лекции дается обзор правил, используемых для планирования мощности системы (они описаны в "Планирование мощности системы" ), поскольку вы можете использовать их для анализа существующей системы, чтобы определить необходимость в дополнительном оборудовании для повышения производительности. И, наконец, мы рассмотрим несколько параметров конфигурирования SQL Server, описанных в предыдущих лекциях, чтобы вы могли регулировать их для изменения способа работы системы.
К концу этой лекции вы будете готовы к выявлению узких мест, снижающих производительность, и определению их причин. Вы не всегда сможете разрешить проблемы производительности, но большинство из них поддаются разрешению, если у вас есть для этого время и ресурсы.
Термин "узкое место" (bottleneck) обычно используется при рассмотрении вопросов производительности программного обеспечения и оборудования; он относится к ограничивающему производительность состоянию, вызванному каким-либо компонентом или набором компонентов. Например, подсистема ввода-вывода с недостаточной мощностью может создавать ощутимый эффект узкого места: она может замедлять работу всей системы. (См. раздел "Подсистема ввода-вывода" далее в этой лекции.)
Почти любой компонент, действующий в системе, может потенциально стать причиной узкого места. Узкое место может быть вызвано одним компонентом, таким как отдельный диск, набором компонентов, таким как подсистема ввода-вывода, или сочетанием различных компонентов. Например, предположим, что вы обнаружили узкое место, причиной которого является подсистема ввода-вывода, и разрешаете эту проблему путем добавления дисков для поддержки нужного количества операций ввода-вывода, возникающих в системе (аппаратное решение), путем оптимизации неэффективных запросов для снижения количества операций ввода-вывода (программное решение) или применяя оба метода. Разрешив проблему ввода-вывода, вы можете обнаружить наличие узкого места, связанного, например, с ЦП, что потребует увеличения скорости или количества ЦП.
Чтобы определить наличие проблем в вашей системе, вам нужно сначала выполнить некоторые общие исследования по производительности системы. Например, определите, не сталкиваются ли пользователи с проблемой медленного отклика (время отклика больше ожидаемого), когда они выполняют запросы и модификации базы данных. Это характерный симптом проблемы производительности или узкого места. Например, вы можете обратить внимание, что при выполнении определенного запроса все другие операции, запущенные в данной системе, выполняются медленнее, чем обычно. Поэтому вы постараетесь оптимизировать этот запрос или выполнять его, когда меньшее число пользователей выполняет доступ к системе.
Еще одним способом выявления проблемы является периодическое тестирование и мониторинг системы. Для этого вы можете использовать разнообразные средства, включая Windows 2000 System Monitor и SQL Server Enterprise Manager. В данном разделе вы узнаете, как использовать эти два инструмента для обследования состояния вашей системы. Вы также ознакомитесь с хранимой процедурой sp_who которую можете использовать для мониторинга активных процессов SQL Server.
В состав Windows 2000 System Monitor включены не только счетчики Windows 2000, но также счетчики SQL Server. Эти счетчики следят за характеристиками системы, такими как процент использования ЦП или коэффициент попадания в кэш-память для SQL Server (счетчик Cache hit ratio), которые помогают определять, что происходит с вашей системой. (Информация о конкретных счетчиках производительности приводится на протяжении всей этой лекции.) Вы можете следить за результатами мониторинга в режиме реального времени или можете протоколировать данные в файле и просматривать их позже.
Чтобы использовать System Monitor для мониторинга вашей системы, выполните следующие шаги.