Планирование производительности

Рубрика: Производительность БД

  • Инвестиционные опции

  • Архитектура системы

  • Масштабируемость

  • Принципы проектирования приложений

  • Тестирование рабочей нагрузки, моделирование, и реализация

  • Развертывание новых приложений

Планирование производительности

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

Возможность приложения масштабироваться также важна. Это означает, что Вы в состоянии обрабатывать все больше пользователей, клиентов, сеансов или транзакций, не подвергаясь большому воздействию на общую производительность системы. Самый очевидный нарушитель масштабируемости является последовательное выполнение операций среди пользователей. Если все пользователи проходят через единственный путь по одному, то, чем больше пользователей добавляется, чем больше отрицательного воздействия на производительность. Это связано с тем, что все больше пользователей выстраивается в линию, чтобы пройти через этот путь. Плохо написанный SQL также влияет на масштабируемость. Это приводит к тому, что многие пользователи ожидают завершение выполнения неэффективного SQL; каждый пользователь конкурирует с другим на большом количестве ресурсов, в которых они фактически не нуждаются.

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

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

Производительность нужно рассматривать, когда развертываются новые приложения (или новые версии приложений). Иногда проектные решения делаются, чтобы поддерживать совместимость со старыми системами во время развертывания. Новая база данных должна быть сконфигурирована (на основе производственной среды) специально для приложений, для которых она работает.

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

Далее: Советники по SQL

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)