Постановка задачи: выбор наиболее дешёвого сервера для ролей сервера 1С, сервера СУБД MS SQL 2008 для 50 пользователей.
Подбор железа, используя сервер-эксперт:
Согласно сервер-эксперту, собираем железо:
Выбираем платформу: IBM x3650 M3
Выбираем процессор: Intel Xeon E5506 — 1шт.
Выбираем оперативную память: 4 планки по 4Гб
Выбираем жёсткий диск: 3 SAS по 146 Гб RAID5
Используемое ПО:
ОС MS Windows 2008 x64
СУБД MS SQL 2008 x64
Сервер 1С 8.2 х64
Тестовая среда: для проведения нагрузочного тестирования использовалась конфигурация 1С 8.2: «Стандартный нагрузочный тест».
Ход тестирования:
На локальном сервере была запущена клиентская сессия 1С в режиме агента и в режиме тестирования.
В тестовой конфигурации был указано начальное количество эмулируемых стандартных пользователей 1С, создающих и удаляющих документы и отчеты, равное 20. Шаг увеличения количества пользователей, после проведения тестов был выставлен равный 20 пользователям.
Изначально (без пользовательских подключений) СУБД занимает 569 Мб оперативной памяти (созданы 2 БД: конфигурация 1С 8.2: УПП и тестовая конфигурация), занятая память системой составляет 2,56 Гб.
В ходе тестирования (до 110 пользователей) память под СУБД выделяется до 12 Гб, одна тестовая сессия 1С занимает 55 Мб (55Мбх200=11Гб). Для сравнения — одна реальная пользовательская сессия (клиентское приложение 1С) занимает около 300 — 500 Мб. Размер памяти, выделяемой для клиентского приложения 1С, указан для пользователя, работающего в стандартной конфигурации 1С: Торговля или 1С: УПП. Служба сервера 1С (rphost) практически не использует ОП, так как она лишь транслирует запросы от клиентской части к СУБД (по стандарту используется порт TCP 1541 и TCP 475 для сервера защиты 1С).
Использование ресурсов ЦП разделялось между службой сервера 1С (rphost) и службой СУБД (sqlservr). При нагрузке в 40 пользователей, rphost занимал 37% мощности ЦП, sqlservr занимал 30%. При нагрузке в 60 пользователей, rphost занимал 47% мощности ЦП, sqlservr занимал 29%.
Во время удаления созданных документов, служба sqlsrvr обращалась к дисковой подсистеме для записи на скорости до 6,5Мбайт/сек (около 52Мбит/сек).
Нагрузка на сеть между сервером 1С и СУБД (на локальных интерфейса lookback) составляла 10 Мб/с.
Результат тестирования, выданный тестовой конфигурацией 1С:
Параметры: Запуск теста 000000006 от 24.05.2012 12:44:16
Стандартный нагрузочный тест, версия 2.0.4.11
Начало тестирования 23.05.2012 12:36:39. Время выполнения: 57,1 минут.
Условия тестирования
«Сервер 1С: Предприятия: test
Имя информационной базы: testcenter_82
Виртуальные пользователи: TEST,»
Выводы:
Необходимо ослабить конфигурацию сервера, так как текущая является избыточной на 100% для 50 пользователей.
Необходимо выполнить тестирование, используя второй сервер для запуска эмулируемых пользователей и проверить нагрузку на сеть, ожидаемая нагрузка — 10 Мб/сек.
Архитектура 1С состоит из 4-х блоков: сервер 1С, СУБД, сервер защиты 1С и клиент 1С. В данном тесте все эти функции были запущены на одном сервере.
При большой нагрузке на сервер 1С есть следующие рекомендации:
Разносить роли сервера 1С, сервера СУБД, сервера защиты 1С и клиентские приложения 1С (для большего быстродействия клиентские приложения 1С лучше запускать на терминальном сервере).
На сервере СУБД необходимо использовать следующую структура для систем хранения данных: ОС должна располагаться на RAID 1, файлы данных СУБД (.mdf, .ndf) на отдельном RAID 0, файлы журнала (.ldf) на отдельном RAID 0, временные файлы и файл подкачки на отдельном диске.
Автор: Server_Unit