Выявление узких мест

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

Причины появления узких мест:

  • недостаточность ресурсов, требуется обновление или наращивание компонентов;

  • однотипные ресурсы, рабочая нагрузка на которые не распределена должным образом (например, монопольное использование диска);

  • неисправность ресурса;

  • ресурс неправильно настроен.

Анализ узких мест

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

Например:

  • какой-либо компонент препятствует завершению загрузки данного компонента, таким образом повышая общую длительность загрузки;

  • запросы от клиентов могут выполняться дольше из-за загруженности сети.

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

Возможная область появления узких мест

Влияние на сервер

Использование памяти

Недостаток памяти, выделенной или доступной Microsoft SQL Server, значительно снижает производительность. Данные медленнее считываются с диска, чем непосредственно из кэша. Операционные системы Microsoft Windows выполняют чрезмерную выгрузку данных на диск и обратно в процессе обращения к различным страницам.

Загрузка ЦП

Стабильно высокая загрузка ЦП может указывать на то, что следует оптимизировать запросы Transact-SQL, либо на необходимость модернизации ЦП.

Дисковый ввод-вывод

Чтобы снизить необходимость в операциях ввода-вывода, можно оптимизировать запросы на языке Transact-SQL (например создав индексы).

Соединения пользователей

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

Блокирующие блокировки

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

Дополнительные сведения о настройке запросов SQL см. в разделах Производительность запроса и Настройка физической структуры базы данных.