Рекомендуемая конфигурация сервера базы данных
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) (→См. также) |
||
| Строка 63: | Строка 63: | ||
* [[Устойчивая работа сервера Firebird]] | * [[Устойчивая работа сервера Firebird]] | ||
| + | * [[Почему нельзя использовать RAID 5 для сервера базы данных]] | ||
=== Ссылки === | === Ссылки === | ||
Версия 18:23, 10 апреля 2012
Универсальным ответом при выборе конфигурации сервера базы данных могло бы быть: Чем больше, тем лучше! Больше памяти, больше процессоров, больше дисков в RAID массиве. Однако, не каждая организация может позволить себе неограниченный бюджет на покупку нового сервера. Здесь мы приводим минимальные конфигурации для обеспечения комфортной работы с базой данных платформы Гедымин.
Следует понимать, что приведенные конфигурации и рекомендации — это не точные инструкции, способные гарантировать результат в каждом конкретном случае. Нагрузка на сервер базы данных зависит от многих факторов, среди которых:
- Размер файла базы данных
- Количество одновременно подключенных к серверу пользователей
- Интенсивность работы пользователя
- Особенность работы пользователя (преимущественно ввод и редактирование, преимущественно просмотр, построение "тяжелых" запросов и т.п.)
- Наличие резидентного ПО (антивирусы, шифрование данных и т.п.)
- Другие задачи, выполняемые сервером (если это не выделенный сервер БД)
- И многое другое
Параметры ниже указаны для выделенного сервера базы данных, который не выполняет иных функций (т.е. не является контроллером домена, прокси сервером, почтовым сервером, файл сервером и т.п.). Подразумевается, что сервер обслуживает одну базу данных. Существенно повлиять на производительность способны фоновые программы, особенно антивирусы.
| Параметр | Малая БД | Средняя БД | Большая БД |
|---|---|---|---|
| Размер файла базы данных, Гб | менее 5 | 5-25 | более 25 |
| Количество одновременных подключений | менее 10 | 10-40 | более 40 |
| Рекомендуемый минимальный размер ОЗУ | 4 Гб | 16 Гб | 32 Гб |
| Операционная система Windows Server 2003 R2 или Windows Server 2008 R2 | 32 bit | 64 bit | 64 bit |
| Файловая система | NTFS | NTFS | NTFS |
| Количество ядер процессоров | 1 | 4 | 8 |
| Количество жестких дисков для размещения базы данных | 2 HDD | 4 НDD на 15К rpm | 8 НDD на 15К rpm |
| Уровень RAID[1] | RAID 1. Встроенный RAID контроллер или RAID массив, организованный средствами ОС | RAID 10 на внешнем контроллере с энергонезависимой кэш памятью | RAID 10 на внешнем контроллере с энергонезависимой кэш памятью не менее 1 Гб |
Суперсервер или классик?
Сервер классической архитектуры имеет смысл использовать для средних и больших баз по причине его повышенной устойчивости (падение или принудительное завершение одного процесса не сказывается на остальных подключениях), а так же на многоядерных системах для распараллеливания выполнения запросов[2]. Производительность классика сильно зависит от файлового кэша операционной системы и скорости обмена данных с диском. При использовании сервера классической архитектуры размер буфера не должен превышать 1000 страниц.
Оптимальный размер страницы базы данных
Вся информация в файле базы данных разбита на страницы. Страница — это минимальная единица обмена данными сервером с дисковой подсистемой. Допустимые размеры страниц: 2048, 4096, 8192, 16384 байт. Теоретически, меньший размер страницы должен давать выигрыш в сценариях с преобладанием операций добавления/изменения данных. Больший — при преобладании операций индексированного чтения (поиска по индексу).
Оптимальный размер страницы базы данных можно подобрать только путем выполнения серии тестов на конкретном сервере. По умолчанию, при восстановлении базы данных из архива, Гедымин предлагает размер страницы 8192 байт. Для достижения максимальной скорости, размер кластера жесткого диска (стрипа, в случае RAID массива) должен совпадать с размером страницы.[3]
Батарейка для RAID контроллера
При покупке внешнего RAID контроллера стоит убедиться, что батарейка энергонезависимой памяти входит в комплект поставки. За работоспособностью батарейки стоит следить в процессе эксплуатации. Выход ее из строя, как правило, ведет к отключению кэша на запись и существенному падению производительности.
Регулярное архивирование базы данных
Даже дорогой и "навороченный" RAID контроллер может выйти из строя. Регулярное архивное копирование базы на другой компьютер, отдельный жесткий диск или внешний носитель -- единственный способ обеспечить сохранность информации. Автоматическое архивирование по расписанию может быть осуществлено с помощью утилиты gbak[4].