Задачи упреждающей настройки
Применение упреждающего подхода к настройке производительности позволяет обеспечить оптимальную работу базы данных.
Упреждающий подход подразумевает выполнение следующих задач:
- Анализ рабочей нагрузки.
- Определение базовых показателей производительности.
- Мониторинг базы данных.
- Настройка базы данных.
Упреждающая настройка представляет собой итеративный процесс, поскольку со временем рабочая нагрузка, базовые показатели производительности и методы использования базы данных могут претерпевать изменения. Это, в свою очередь, может потребовать повторения одной или нескольких задач процесса настройки. Рассмотрим каждую задачу упреждающей настройки более детально.
Анализ рабочей нагрузки
Первостепенной задачей в процессе упреждающей настройки является проведение анализа рабочей нагрузки, которую должна выдерживать база данных. В частности, необходимо получить ответы на следующие вопросы:
- Каковы стратегические задачи программного продукта?
- Сколько пользователей должно использовать приложение?
- Какого рода операции создания, чтения, изменения и удаления необходимы для работы приложения?
- Какие таблицы доступны?
- Какие поля запрашиваются?
- Какие поля используются в условии WHERE для фильтрации данных?
- Операции CRUD (Create, Read, Delete, Update) выполняются в фоновом или в интерактивном, или в обоих режимах?
- Какие пиковые часы использования приложения?
- Какое время отклика должно быть для CRUD-операций?
- Какая пропускная способность требуется для выполнения каждой CRUD-операции?
Ответы на эти вопросы позволят произвести анализ нагрузки на базу данных. Крайне важно, чтобы ответы были чёткими и поддавались количественной оценке. Понимание рабочей нагрузки позволит спроектировать базу данных таким образом, чтобы обеспечить максимальную производительность и установить ключевые показатели производительности.
Определение базовых показателей производительности
После определения рабочей нагрузки необходимо установить базовые показатели производительности работающей базы данных. Базовые показатели производительности – это статистика по использованию системных ресурсов, собранная в пиковый период времени, когда система работает хорошо. Эти данные станут отправной точкой при измерении производительности базы данных в будущем и будут использованы для сравнения с текущей нагрузкой при обнаружении ухудшения производительности.
Два наиболее часто используемых показателя производительности – это время отклика и пропускная способность. Время отклика – это время, которое необходимо для выполнения заданного объёма работ, которое отсчитывается от момента старта CRUD-операции и до момента завершения её работы. Пропускная способность – это объём выполненной работы за определённый период времени, который, как правило, выражается в количестве транзакций в секунду. Обязательно включите эти два параметра в состав собственных показателей производительности.
В состав показателей базовой производительности может быть включена информация как для OpenEdge, так и для системных ресурсов. Информация для OpenEdge-ресурсов для базовых показателей обычно содержит:
- Настройки параметров старта базы данных.
- Типы и количество фоновых процессов.
- Метрики времени отклика и пропускной способности для CRUD-операций.
Информация для системных ресурсов содержит:
- Аппаратную конфигурации системы и сети.
- Использование CPU и памяти.
- Дисковую и сетевую активности.
Мониторинг базы данных
После определения базовых показателей необходимо осуществлять мониторинг работы базы данных и сравнивать текущие показатели производительности с базовыми. Следует выполнять мониторинг следующих показателей базы данных:
- Области хранения данных.
- Ресурсы памяти и буферов.
- Пользовательскую активность.
- Локировки и латчи.
- Активность использования записей и индексов.
- Транзакционную активность.
- Фоновые процессы: Before-Image Writer (BIW), After-Image Writer (AIW) и Asynchronous Page Writer (APW).
При использовании для мониторинга базы данных инструмента OpenEdge Management можно настроить соответствующие правила для рассылки уведомлений и отчётов по использованию системных ресурсов. После этого можно будет легко сравнивать собранную информацию с существующими базовыми показателями.
Имея эту информацию можно точно определить потенциальные проблемы с производительностью и выполнить упреждающую настройку конкретных параметров базы данных до поступления жалоб от пользователей приложения.
Настройка базы данных
Как правило при настройке базы данных администратор фокусируется на одной или на нескольких областях:
- Ресурсы разделяемой памяти.
- Активность Before-Image (BI).
- Активность ввода-вывода базы данных.
- Активность After-Imaging (AI).
- Сетевой обмен данными.
Некоторые базы данных могут требовать особенной настройки, для чего может понадобиться реструктуризация их физического размещения.
В таких случаях достичь улучшения производительности можно выполнив одно из следующих действий:
- Выполнить выгрузку данных и их последующую загрузку во вновь созданную более эффективную структуру.
- Перестроить индексы для более эффективного поиска данных и их обновления.