Введение
После того, как база данных правильно спроектирована на физическом уровне, настроены базовые параметры старта и выполнен старт базы данных, производительность базы данных должна показывать хорошие результаты. Но с течением времени администратор должен выполнять упреждающий мониторинг различных частей базы данных и, при необходимости, настраивать их с учётом изменившихся показателей, чтобы база данных имела возможность работать с максимальной эффективностью.
При упреждающем мониторинге и настройке в первую очередь необходимо установить базовые показатели производительности базы данных. Базовые показатели производительности – это снимок статистических показателей ресурсов системы, собранных в пиковый период нагрузки, когда система работает хорошо. Эти показатели используются в качестве эталонных значений и предназначены для сравнения с текущими показателями работы системы, они помогают определить, какие изменения необходимо выполнить.
Рекомендуется за один раз выполнять настройку только одного параметра базы данных. После этого необходимо замерить его влияние на работающую базу данных и сравнить результаты с базовыми показателями. Если производительность улучшится до приемлемого уровня, то на этом можно остановиться. Если производительность не улучшается, то настройку параметра необходимо продолжить.
Первый аспект базы данных, на который необходимо обратить внимание, это разделяемая память. Как правило, в многопользовательской среде процессы базы данных одновременно запрашивают доступ к одним и тем же ресурсам разделяемой памяти. Именно пользовательская конкуренция обычно приводит к появлению узких мест и, как следствие, к снижению производительности. Таким образом, чем более эффективно будет настроена база данных для разрешения конфликтов за ресурсы и для выполнения большей части своей работы в памяти, тем лучше будет производительность базы данных.
Из этой главы вы узнаете, как контролировать и настраивать такие параметры разделяемой памяти как спин-локировки, таблицу локировок, размер кэша для хранения объектов и размер переполнения разделяемой памяти. Вы также узнаете, как выполнять мониторинг ожидания локировок и ресурсов, для идентификации проблем с производительностью, вызванных кодом приложения.