Сервер для Microsoft SQL Server часто выбирают по размеру базы или количеству пользователей. Но эти цифры сами по себе мало говорят о реальной нагрузке. База на 100 ГБ с тысячами транзакций в минуту может требовать больше ресурсов, чем архив на несколько терабайт. Разбираем, как подобрать процессор, оперативную память и диски под корпоративную СУБД и на чём не стоит экономить.
До выбора конкретной модели сервера нужно определить профиль нагрузки. Важнее всего не количество зарегистрированных пользователей, а число одновременных операций, сложность запросов и допустимое время отклика.
SQL Server умеет выполнять запросы параллельно, но далеко не каждая операция ускоряется от добавления ядер. Для многих транзакционных систем важна высокая производительность одного ядра. Для сложной аналитики и большого числа параллельных запросов полезнее дополнительная вычислительная мощность.
Эти диапазоны не являются готовыми требованиями: две базы с одинаковым количеством пользователей могут требовать принципиально разные процессоры. При выборе Intel Xeon или AMD EPYC сравнивайте не только число ядер, но и производительность на ядро, память, NUMA-архитектуру и энергопотребление.
Отдельный вопрос — лицензии. SQL Server часто лицензируется по ядрам, поэтому избыточная процессорная конфигурация увеличивает не только стоимость оборудования, но и стоимость ПО. Ограничения зависят от версии и редакции SQL Server.
SQL Server активно использует оперативную память для кэширования данных и выполнения запросов. Если рабочий набор не помещается в RAM, увеличивается количество обращений к дискам. Но и бесконтрольно наращивать память нет смысла: сначала стоит оценить фактическое потребление и ограничения установленной редакции.
| Сценарий | Ориентир по RAM | Комментарий |
|---|---|---|
| Небольшая база | 32–64 ГБ ECC | Небольшой активный набор данных |
| Средняя корпоративная система | 64–128 ГБ ECC | CRM, ERP, несколько приложений |
| Интенсивная OLTP-нагрузка | 128–256 ГБ ECC | Большой рабочий набор и частые транзакции |
| Аналитика и крупные базы | 256 ГБ и более | После оценки запросов и редакции SQL Server |
Для SQL Server важно настроить параметр max server memory, оставив запас операционной системе и другим службам. При подборе модулей учитывайте количество каналов памяти и возможность расширения без полной замены установленной RAM.
Для активной базы данных важны задержки чтения и записи, производительность случайных операций и стабильность накопителей под длительной нагрузкой. Высокая паспортная скорость последовательного чтения сама по себе не гарантирует быстрый SQL Server.
Разделение MDF, LDF и tempdb имеет смысл прежде всего по независимым ресурсам хранения. Три буквы диска на одном и том же массиве не создают три независимые дисковые подсистемы. Для рабочих SSD выбирайте модели серверного класса с подходящим ресурсом записи и защитой от потери питания.
Для системного тома обычно используют RAID 1. Для активных баз с частой записью распространён RAID 10: он сочетает зеркалирование с распределением нагрузки по дискам. RAID 5 или RAID 6 могут быть оправданы в отдельных сценариях, но при интенсивных транзакциях нужно учитывать дополнительные операции записи и характеристики контроллера.
RAID не заменяет резервное копирование. Он помогает пережить отказ накопителя, но не защищает от ошибочного удаления таблиц, повреждения данных или шифровальщика. Для корпоративной базы нужны регулярные резервные копии и проверка восстановления.
Ниже — ориентиры для предварительного расчёта. Это не готовые конфигурации «на 20, 50 или 100 пользователей»: точный подбор требует данных о запросах, пиковых операциях и скорости дисковой подсистемы.
| Параметр | Небольшая база | Средняя нагрузка | Высокая нагрузка |
|---|---|---|---|
| CPU | 8–12 ядер | 16–24 ядра | 24+ ядер* |
| RAM | 32–64 ГБ | 64–128 ГБ | 256 ГБ и более* |
| Данные | Enterprise SSD | SSD / NVMe | Enterprise NVMe |
| Защита дисков | RAID 1 / 10 | RAID 10 | RAID 10 / СХД |
| Питание | Резервные БП | Резервные БП + ИБП | Резервные БП + ИБП + план восстановления |
*Проверяйте лимиты конкретной версии и редакции SQL Server. Например, у SQL Server 2022 Standard действуют ограничения на число ядер и размер буферного пула. Физическая установка большего количества ресурсов не означает, что один экземпляр СУБД сможет их полностью использовать.
SQL Server может работать как на физическом сервере, так и в виртуальной машине. Виртуализация удобна для управления инфраструктурой, но важно контролировать выделенные ресурсы и конкуренцию между виртуальными машинами. Если гипервизор перегружен, даже правильно подобранная конфигурация SQL Server может показывать нестабильное время отклика.
Для критичной базы также нужно заранее определить требования к восстановлению: сколько времени допустим простой (RTO) и сколько данных допустимо потерять (RPO). При необходимости применяют Always On Availability Groups, Failover Cluster Instances и другие механизмы с учётом возможностей редакции SQL Server.
Покупка нового оборудования не всегда первый шаг. Неправильные индексы, неэффективные запросы и ошибки конфигурации способны замедлить даже мощный сервер. Сначала стоит собрать метрики, затем принимать решение об апгрейде.
Для Microsoft SQL Server нужна сбалансированная конфигурация: CPU под характер запросов, достаточно RAM для рабочего набора данных и серверные SSD или NVMe с предсказуемыми задержками. Для корпоративной базы также важны RAID, резервное питание, копирование данных и план восстановления. Не стоит выбирать сервер только по размеру базы или числу пользователей — правильный расчёт начинается с анализа нагрузки.
Подбираете сервер для Microsoft SQL Server? Свяжитесь с нами — поможем выбрать конфигурацию под задачи и бюджет. Новые и восстановленные серверы представлены на shiyapov.ru.