Оценка оборудования сервера для 1С

Какими правилами стоит руководствоваться при выборе сервера под 1С?

Сервер СУБД

Диски

Дисковая подсистема – всегда краеугольный камень. Самые жуткие «тормоза» начинаются именно из-за них. Притом не важно, сколько используется оперативной памяти. При фиксации транзакции сервер СУБД просто обязан записать все ее данные на диск, как в БД, так и в LOG-файл. Это обеспечивает выполнение правил ACID для транзакции. Иными словами, само понятие транзакции без записи на диск лишено смысла.

Конечно, другое дело, что MS SQL-сервер можно «обмануть», «подсунув» ему вместо физического диска RAM-диск, но ни в коем случае не рекомендую этого делать для основной базы (если хотите сохранить свое рабочее место). А вот при использовании базы tempdb стоит задуматься. Размещение этой базы на RAM-диске или хотя бы SSD может в разы поднять производительность всей системы, и уже проектировать RAID-массив без учета этой «нетипичной» базы, которая в 1С 8.3 стала применяться еще активнее из-за включения версионности на стороне СУБД.

Под саму базу, конечно, нужно выделить 10-й RAID.

 3-5 пользователей, 300 MB 10-15 пользователей, 800 MB
 400-600 IOPS  1500-2500 IOPS
 40-50 пользователей, 4 GB  80-100 пользователей, 20 GB
 5000-7500 IOPS  12000-18000 IOPS

Под LOG-файлы крайне желательно найти отдельные диски, которые не будут пересекаться с основными файлами БД. Под ОС тоже желателен отдельный массив. Для небольших проектов (до 50 пользователей) этого будет вполне достаточно. Если пользователей больше 50, нужно задуматься об использовании СХД. Дальше возникает самый интересный вопрос: «А сколько нужно дисков,
и каких?»

Идеальным вариантом, конечно, было бы для СХД купить дисков «с запасом» либо для производительности, либо для объема. Но запас редко кто может себе позволить. Пожалуй, лучшим показателем для оценки производительности дисковой подсистемы может служить IOPS. Достоинства и недостатки этого показателя достаточно хорошо и популярно раскрыты у Гилев. Дело осталось за малым – понять, сколько IOPS потребуется для вашей базы и из какой конфигурации дисковой подсистемы их можно получить. Информацию на предмет, сколько потребуется для 1С, я нашел только в статье Юрия Жуковского на infostart.ru. Эти данные приведены в таблице.

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

 Процессор

Для сервера СУБД можно исходить из соображений одно ядро на 20 пользователей. При этом два ядра необходимо зарезервировать под нужды самого MS SQL и одно ядро для ОС Windows. Рекомендация получена сугубо опытным путем, в зависимости от профиля пользователей, естественно, может отличаться.

 Оперативная память

Есть популярное мнение, что объем памяти на сервере MS SQL должен быть примерно равен предполагаемому объему базы 1С, что вполне логично. Исходя из этого следует посчитать планируемый объем базы через год-два и вычислить предполагаемый объем памяти. Можно также воспользоваться рекомендациями Microsoft (правда, подобранными для базы MS Sharepoint Server, поэтому размеры БД завышены) [6], которые приведены в таблице 2. Эта информация полезна хотя бы с точки зрения минимального объема ОЗУ, которая должна быть на сервере MS SQL – это 8 Гб. Если в базе работают более 10-15 пользователей, то уже 16 Гб.

Сервер 1С

Диски

Не критичны.

Процессор

Минимум одно ядро на нужды ОС. Два ядра на фоновые задания. Если сервер еще играет роль центрального менеджера кластера, это добавляет еще одно ядро. Итого получается уже, что четыре ядра процессора на сервер 1С – это тот минимум оборудования, который необходим. Далее рассчитываем по количеству пользователей. Тут, к сожалению, имеется большая разница между решениями на  обычных формах и на управляемых. Для решений на обычных формах можно исходить из расчета 50-60 пользователей на ядро. Для управляемых форм это количество снижается до 20-30. Оперативная память. Для «1С:Предприятие 8.2» не видел, чтобы сервер использовал более 9 Гб памяти в нормальном режиме работы. Но есть понятие «утечки памяти», которые, к сожалению, присутствуют как в  платформе, так и в типовых решениях. Поэтому со временем объем используемой сервером 1С памяти будет возрастать. Но в любом случае при превышении объема в 9 Гб следует перезапускать рабочий процесс. Для этой цели разумно держать резервный рабочий процесс. Соответственно максимальный имеющий смысл объем памяти на сервере 1С – 18 Гб.

При этом нужно понимать, что память может «заканчиваться» и организацией перезапуска рабочих процессов придется заниматься. Минимальный объем памяти – около 2 Гб. Добавим 2 Гб, которые нужны под операционную систему, получаем 4 Гб.
На этом объеме памяти вполне может функционировать достаточно большое количество пользователей. В режиме управляемого приложения на каждого пользователя стоит рассчитывать около 100 Мб памяти сервера, но не менее 4 Гб и не более 18 Гб.

Источник:  «Системный администратор» № 134-135, январь-февраль 2014

 

0 ответы

Ответить

Хотите присоединиться к дискуссии?
Приглашаем поучаствовать!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *