Рекомендуемая конфигурация сервера базы данных

Материал из GedeminWiki
Перейти к: навигация, поиск

Универсальным ответом на поставленный вопрос могло бы быть: "Чем больше, тем лучше!". Больше памяти, больше процессоров, больше дисков в массиве. Однако, не каждая организация может позволить себе неограниченный бюджет на покупку нового сервера. Здесь мы приводим минимальные конфигурации для обеспечения комфортной работы пользователей с базой данных.

Следует понимать, что приведенные здесь типовые конфигурации и рекомендации — это не точные инструкции, способные гарантировать результат в каждом конкретном случае. Нагрузка на сервер базы данных зависит от многих факторов, среди которых:

  • Размер файла базы данных
  • Количество одновременно подключенных к серверу пользователей
  • Интенсивность работы пользователя
  • Особенность работы пользователя (преимущественно ввод и редактирование, преимущественно просмотр, построение "тяжелых" запросов и т.п.)
  • И многое другое

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

Параметр Малая БД Средняя БД Большая БД
Размер файла базы данных, Гб менее 5 5-25 более 25
Количество одновременных подключений менее 10 10-40 более 40
Рекомендуемый минимальный размер ОЗУ 4 Гб 8 Гб 16 Гб
Операционная система Windows Server 2003 R2 или Windows Server 2008 R2 32 bit 64 bit 64 bit
Файловая система NTFS NTFS NTFS
Количество ядер процессоров 1 4 8
Дисковая подсистема 2 HDD в зеркале. Встроенный RAID контроллер или RAID массив, организованный средствами ОС 4 НDD на 15-20К rpm. RAID 10 на внешнем контроллере 8 НDD на 15-20К rpm. RAID 10 на внешнем контроллере

Суперсервер или классик?

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

Оптимальный размер страницы базы данных

Вся информация в файле базы данных разбита на страницы. Страница — это минимальная единица обмена данными сервером с дисковой подсистемой. Допустимые размеры страниц: 2048, 4096, 8192, 16384 байт. Теоретически, меньший размер страницы должен давать выигрыш в сценариях с преобладанием операций добавления/изменения данных. Больший &mdash при преобладании операций индексированного чтения (поиска по индексу).

Оптимальный размер страницы базы данных можно подобрать только путем выполнения серии тестов на конкретном сервере. По умолчанию, при восстановлении базы данных из архива, Гедымин предлагает размер страницы 8192 байт. Для достижения максимальной скорости, размер кластера жесткого диска (стрипа, в случае RAID массива) должен совпадать с размером страницы.[2]

Батарейка для RAID контроллера

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

Оптимизация по скорости

Регулярное архивирование базы данных

Даже дорогой и "навороченный" RAID контроллер может выйти из строя. Для чтения дисков из массива может понадобиться точно такой же контроллер с идентичной версией микропрограммы. Регулярное архивное копирование базы на отдельный жесткий диск или внешний носитель -- единственный способ обеспечить сохранность информации. Архивирование может быть осуществлено средствами Гедымина или с помощью утилиты gbak[3].

Примечания

  1. Firebird – SuperServer, ClassicServer or SuperClassic?
  2. Какой размер страницы выбрать для базы данных?
  3. Автоматическое архивирование
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты