Системные ресурсы и производительность

Оценить
(0 голоса)

Database Engine выполняется под операционной системой Windows, которая сама использует системные ресурсы. Эти ресурсы имеют значительное влияние на производительность операционной системы, так же как и на производительность системы базы данных. Производительность любой системы базы данных зависит от четырех основных системных ресурсов:

♦ центральный процессор (central processing unit, CPU);

♦ память;

♦ дисковые операции ввода/вывода;

♦ сетевое окружение.

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

Database Engine динамически запрашивает и освобождает память по мере необходимости. Проблемы производительности, связанные с памятью, могут появиться, если памяти недостаточно для выполнения требуемой работы. Когда такое происходит, то много страниц памяти записывается в файл страниц. (Понятие файла страниц подробно объясняется далее В этом разделе.) Если процесс записи в файл страниц происходит слишком часто, то производительность системы может ухудшаться. Поэтому аналогично правилу центрального процессора можно сказать: чем больше памяти доступно на вашем компьютере, тем лучше работает вся система.

Существуют два момента, связанных дисковым вводом/выводом: дисковая скорость и пропускная способность диска. Дисковая скорость определяет, как быстро выполняются операции чтения и записи для диска. Пропускная способность диска задает, какой объем данных может быть записан на диск в единицу времени (время обычно измеряется в секундах). Очевидно, что чем быстрее диск, тем больший объем данных может быть обработан. Так же, большее количество дисков лучше, чем один диск в случае, когда много пользователей одновременно обращается к системе базы данных. В этом случае доступ к данным обычно распределяется между многими дисками, что улучшает общую производительность системы.

В конфигурации «клиент/сервер» система базы данных иногда выполняется хуже, если существует множество клиентских соединений. В этом случае объем данных, которые нужно пересылать по сети, может превышать возможности сетевого окружения. Чтобы устранить это узкое место в производительности, следует принять во внимание следующие общие рекомендации:

♦ если сервер базы данных отправляет приложению некоторые строки, то нужно отправлять лишь те строки, которые действительно требуются приложению;

♦ если выполняющееся в течение долгого времени пользовательское приложение выполняется строго на клиентской стороне, переместите его на сторону сервера (например, выполняя его как хранимую процедуру).

Все системные ресурсы взаимно зависят друг от друга. Это означает, что проблемы производительности с одним ресурсом могут привести к проблемам производительности, связанным с другими ресурсами. Аналогично, улучшения, связанные с одним ресурсом, могут значительно повысить производительность некоторого другого ресурса (или даже всех). Рассмотрим примеры.

♦ Если вы увеличиваете количество центральных процессоров, то каждый CPU может равномерно разделять нагрузку и поэтому способен сгладить проблемы с дисковым вводом/выводом. С другой стороны, неэффективное использование центрального процессора часто бывает результатом предшествующей объемной загрузки дисковыми операциями ввода/вывода и/или оперативной памяти.

♦ Если доступно больше памяти, то существует высокий шанс найти в памяти страницу, требуемую приложению (вместо того, чтобы отыскивать ее на диске), что приводит к повышению производительности. В отличие от этого чтение данных с дискового устройства, вместо извлечения их из гораздо более быстрой памяти, серьезно замедляет работу системы, особенно при наличии большого количества конкурентных процессов.


Дисковые операции ввода/вывода
Память
Мониторинг производительности
Обзор Performance Monitor
Мониторинг процессора

Добавить комментарий


Защитный код
Обновить

© 2021 serversql.ru. Все права защищены.