Как протестировать сервер 1с

Обновлено: 02.07.2024

А давайте поговорим про синтетические тесты? Мы заметили, что часть клиентов использует их, оценивая «профпригодность» любого облачного решения. Иногда нас просят предоставить результаты какого-либо теста или сами проверяют систему во время бесплатного пробного периода. Причём то же нагрузочное тестирование проводят редко. В фаворитах — тест Гилева. Про него-то мы и расскажем. Ведь если и делать подобный тест, то делать его нужно правильно.

Введение

Стоит понимать, что тест Гилева никак не отражает быстродействие реальной конфигурации с реальной базой данных. Он запускается на пустой платформе без установки каких-либо конфигураций и тем более загрузки реальных баз 1С. А ведь многопоточный тест может быть запущен в качестве нагрузочного и на реальной системе с реальными данными.

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

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

Данная статья описывает результаты исследования влияния различных оптимизаций виртуальной машины, её гостевой ОС и прикладного программного обеспечения на результаты прохождения теста Гилева.

Исходные данные

Тест Гилева – синтетический тест, позволяющий оценить быстродействие платформы «1С:Предприятие». В основном используется для оценки производительности при использовании СУБД для хранения баз данных 1С, но может использоваться и для файлового варианта хранения баз данных 1С. Поставляется в виде файла конфигурации (*.cf) для дальнейшей загрузки в конфигураторе «1С:Предприятие».

Тест состоит из двух частей, которые могут быть запущены независимо друг от друга.

Первая часть – однопоточный тест, оценивает производительность выполнения операций в один поток, что является характерной особенностью платформы «1С:Предприятие». По результатам теста строится график в виде столбчатой диаграммы, в котором слева направо представлены текущий результат теста и результаты, соответствующие оценкам «плохо», «удовлетворительно», «хорошо» и «отлично». «Оценочные» результаты имеют фиксированные значения (10, 15, 35 и 60 соответственно). Результат однопоточного теста предоставляется в неких условных единицах.

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

Дополнительно тест позволяет сохранить результаты в облако авторов теста и получать результаты других пользователей теста для сравнения.

Среда тестирования

Для тестирования в «обычном» облаке Cloud4Y мы создали виртуальную машину с гостевой ОС Windows Server 2019. ВМ развернули из стандартного шаблона в варианте с паравиртуальным драйвером дисков. Данный тип контроллера не даёт преимуществ по скорости работы в сравнении с LSI Logic SAS, но активно продвигается вендором и может стать типом контроллера по умолчанию в будущем.

В качестве СУБД использовали Microsoft SQL Server 2019 редакции Standard. Редакция Express даёт схожие результаты тестирования, однако неприменима на реальных базах из-за ограничений редакции. Следовательно, использовать её в шаблоне виртуальной машины не имеет смысла.

На виртуальной машине установили сервер «1С:Предприятие» и настроили кластер серверов 1С. Также установили дополнительные средства администрирования серверов 1С. В качестве единственной конфигурации использовался тест Гилева.

Для тестирования раздельной конфигурации, где сервер 1С и СУБД размещаются на отдельных ВМ, мы клонировали исходную ВМ, после чего в гостевой ОС каждой из получившихся виртуальных машин удалили лишние компоненты и провели дополнительную настройку.

Оптимизации

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

Оптимизировали СУБД. В частности, мы:

Установили минимально необходимый набор компонентов СУБД MSSQL

Установили лимит потребления памяти сервером СУБД: минимальное значение равное половине объёма оперативной памяти, максимальное – полный размер RAM, за вычетом 1 ГБ на каждые выделенные 16 ГБ оперативной памяти

Установили максимальную степень параллелизма равную 1

Базу tempdb, пользовательскую базу данных, лог базы данных разнесли на отдельные файловые системы на отдельных виртуальных дисках

Выполнили тонкую настройку параметров баз model и tempdb: значения начального размера базы от 1 ГБ до 10 ГБ, начальный размер журнала транзакций от 1 ГБ до 2 ГБ и авторасширение в 512 МБ

В СУБД разрешили операции по обслуживанию томов

Для раздельной архитектуры для пользователя, от имени которого запускался сервер СУБД, дополнительно установили политику «Блокировка страниц в памяти». Для совместной архитектуры эта политика не должна использоваться, что подтверждается результатами тестов

Для совместной архитектуры отключили все протоколы обмена данными, кроме shared memory, для раздельной – все, кроме tcp

Тестирование

Настройки сделаны, давайте посмотрим на то, какое влияние на результаты теста оказывают разные параметры инфраструктуры

Влияние виртуальных процессоров и сокетов

Рис.1 Рис. 2 Рис. 3

На рис. 1-3 приводятся результаты исследования влияния сокетов для совмещённой конфигурации. Как можно увидеть, максимальные значения достигаются при одном сокете, при увеличении их количества результаты теста снижаются.

Рис. 4 Рис. 5

На рис. 4 и 5 показано слияние увеличения количества виртуальных процессоров. Как можно увидеть, значительного выигрыша в результатах теста Гилева увеличение количества виртуальных процессоров не даёт.

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

Влияние объёма RAM

Теперь давайте оценим влияние объёма оперативной памяти на результаты теста

Рис. 6

Рис. 6

Как можно увидеть, увеличение памяти не даёт ощутимого влияния на результаты теста.

Примечание: но при работе с реальной базой данных и при подключении более одного пользователя объём оперативной памяти будет существенно влиять на производительность, и это нужно учитывать.

Влияние размера кластера файловой системы тома с базой данных

Рис. 7 Рис. 8 Рис. 9

На рис. 7-9 представлено влияние размера кластера файловой системы тома с базой данных. Как вы видите, размер кластера файловой системы не даёт ощутимого влияния на результаты теста.

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

Влияние совместной или раздельной архитектуры

Рис. 10

Рис. 10

На рис.10 представлены результаты теста Гилева для раздельной архитектуры (отдельный сервер СУБД). Обратите внимание, тест никак не учитывает в однопоточном тесте конфигурацию сервера СУБД, учитывается только конфигурация сервера, где развёрнута платформа «1С:Предприятие». В целом, производительность в тесте Гилева у раздельной архитектуры несколько ниже, чем у совместной, поскольку используется протокол tcp вместо более быстрого протокола shared memory.

Влияние нагруженности кластера и выделения ресурсов

Рис. 11

Рис. 11

На рис. 11 представлены результаты теста Гилева на виртуальной машине, расположенной на изолированном от основного кластера хосте. Результаты существенно выше предыдущих, поскольку все ресурсы хоста гарантированно предоставляются единственной виртуальной машине.

Рис. 12

Рис. 12

На рис. 12 представлены результаты теста в общем кластере с включенными политиками гарантированного предоставления ресурсов. Как вы видите, результат существенно ниже, чем на изолированном хосте.

Итоги исследований

На результаты теста наибольшее влияние имеют отключение всех возможных технологий энергосбережения в гостевой операционной системе и базовая частота виртуального процессора

Нагруженность кластера, в котором работает виртуальная машина, может существенно влиять на результат теста Гилева

Совмещённая архитектура даёт более высокие результаты по сравнению с раздельной за счёт использования более быстрого протокола shared memory. Однако, при использовании такой архитектуры нужно внимательно следить за ресурсами, потребляемыми отдельными компонентами системы, чтобы избежать конкуренции

Надеюсь, эта информация будет вам полезна. И помните, что одними лишь синтетическими тестами руководствоваться не стоит. Обращаем ваше внимание на тот факт, что мы проводили тест Гилева по 1С в виртуальной среде на не очень мощных процессорах. В будущем можно будет провести исследование на новом железе. Интересно?

Что ещё интересного есть в блоге Cloud4Y

Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью. Пишем не чаще двух раз в неделю и только по делу.

Тест создает множество фоновых сеансов и выполняет ими одинаковые действия, например создание элементов справочников или запись наборов записей регистров. Он позволяет оценить, насколько "производительна" данная связка 1с - субд, а также насколько она "масштабируема", т.е. количество активных пользователей, при котором система еще будет работать, но "низенько-низенько".

Эмпирическим путем получено число в 400-500 попугаев на поток (не учитывая временные таблицы), при котором работа терпима. Благодаря механизму "глобального обмена" можно повторить тест с чьии-то настройками и сравнить результаты.

Полный тест выполняется от получаса до часа на стандартных настройках, примерно в 2 раза меньше на "быстрых" и в 2 раза дольше на "точных". Естественно, проводить не все тесты, то время пропорционально уменьшится.

Планы

Работа на файловых базах.

Обмен "через файлы", для случай, когда на на сервере нет интернета

Версия 2.0.012

Исправлена невозможность обмена, если указано более 2-х серверов

Версия 2.0.011

Если вы делаете обновление, то теперь возможно обновление только с версии >= 2.001 (при попытке обновления версии 1.х.ххх будет ошибка). Возможно позже сделаю поставку, чтобы корректно это контролировать.

Версия 2.0.006

Очистка результатов после выполнения тестов теперь также проходит многопоточно, это значительно снизило паузы при проведении тестирования.

Также при очистке данных регистров накопления и сведений теперь выключаются итоги.

Версия 2.0.005

Обработка "Обмен результатами" теперь получает все результаты в цикле (в связи с ограничением хостинга недавно пришлось ввести "порционный обмен" результатами, в более ранних версиях приходилось несколько раз нажимать кнопку обмена)

Добавлен отчет "сравнение результатов", колонки - тесты, строки - результаты. Предложения по работе доработке этого и других отчетов приветствуются.

Форма списка справочника тестов, теперь она же является формой выбора/подбора.

Разрешен множественный выбор в форме списка - можно быстро сформировать отчет сравнения, выделив несколько строчек и выбрав его в меню "сформировать на основании"

Обработка "проверка синхронизации" заменена соответствующим отчетом (ради показа графика с распределением времени прихода сигнала синхронизации к потокам теста)

Во все отчеты по тестам добавлен быстрый отбор по видам тестов (по кнопке "настройки").

Потоки теперь стартуют порциями с паузами между ними (вроде как должно повысить стабильность).

Проведена чистка кода, удалены неиспользуемые функции.

Немного причесан интерфейс, теперь все окна открываются единообразно.

Версия 2.0.004

Исправлена ошибка, существующая на платформе < 8.2.15

Версия 2.0.003

Исправлена ошибка доступа к таблице "профиль результатов" при выполнении теста

Версия 2.0.002

Исправлена ошибка с тем, что у загружаемых по глобальному обмену тестов не проставляется код.

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

Переработана форма обмена - место на форме используется более рационально.

Из формы теста убрана таблица с профилем результатов - это ускорило открытие формы в несколько раз для завершенных тестов (там очень много строк, что существенно замедляло то самое открытие).

Версия 2.0.001

Новая версия. Старшая цифра изменилась, поскольку изменились алгоритмы работы - больше сделан упор именно на производительность СУБД.

Изменен алгоритм тестов (основной упор на запись наборов)

Добавлен тест "Временные таблицы" - он должен показать "чистую" производительность без блокировок (спасибо за идею Гилеву Вячеславу).

Добавлены настройки тестов - количество потоков и размер создаваемых объектов (100, 1000, 5000 строк)

Изменен отчет "Отчет по тесту" - добавлен показатель "средняя производительность одного потока"

Добавлен отчет "Профиль выполнения" - показывает распределение времени записи одного объекта (в мс), т.е. сколько объектов записалось за 16 мс, сколько за 32 и тд. Для платформы < 8.2.17 информация собирается только на вин-сервере, при релизе платформы >= 8.2.17 и на линуксе тоже.

Доработана обработка "проверка синхронизации". Теперь она показывает, через сколько миллисекунд (условия для работы как в предыдущем пункте) пришел сигнал от "мастера" до "потоков" о том, что пора начинать "работать".

Доработан интерфейс, например отчеты перенесены в меню "создать на основании", а также через это меню возможно окрыть более одного окна :)

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

Версия 1.0.004

Добавил обработку для проверки механизма синхронизации: указываете, сколько потоков запустить, она показывает сколько потоков в какой момент получили сигнал синхронизации.

Дорботал интерфейс - на рабочий стол поместил список тестов, перенес отчет и новую обработку с панели действий на панель навигации (с верхней на левую).

Версия 1.0.003

Исправил синхронизацию потоков - теперь все потоки запускаются действительно одновременно, ранее на большом количестве потоков некоторые потоки "съезжали" по времени на время до 7 секунд (для 112 потоков, особенно на слабых серверах), что вызывало "флуктуации" в сторону аномального увеличения производительности результатов для большого количества потоков.

Информация о сервере 1с теперь заполняется при открытии формы, а не после выполнения теста.

Версия 1.0.002

Добавил автозаполнение информации о сервере 1с.

Изменил алгоритм синхронизации потоков - теперь используется ЗапуститьПриложение вместо бесконечного цикла для ожидания запуска других потоков, что не грузит процессор и дает время для запуска других потоков. Также увеличил время на синхронизацию до 30 секунд.

Теперь тесты выполняются в 1, 2, 4, 8, 16, 32, 48, 64, 80, 96, 112 потоков.

Обновил WS-ссылку, добавил версию платформы в результаты.

Добавил запрос на публикацию результатов теста при изменении (Внимание! Для успешной публикации должен быть разрешен интернет на сервере 1с!)

Версия 1.0.001

Добавил автосохранение после выполнения теста. (Отчет по текущему тесту теперь работает сразу после выполнения теста).

Добавил версию конфигурации в результаты теста.

Обновил WS-ссылку, подчистил WSDL, убрал anyType везде.

Версия 1.0.000

Добавил сохранение результатов

Немного изменил алгоритм проведения документов, добавил в него выборку данных.

Добавил отчет по тестам с красивыми графиками :)

Добавил вызов веб сервиса, прошу протестировать (пока там только пустышка). В ближайшие пару-тройку дней добавлю сохранение результатов и вывод статистики на отдельную страничку. Возможно добавлю "засасывание" результатов с этой страницы, чтобы можно было стравнить прямо в конфигурации результаты разных людей встроенным отчетом.

Первая версия, она же альфа:

Начал писать тест для оценки производительности сервера в режиме параллельной работы. Нулевая версия, просто выполняет теств1/2/4/8/16 потоков, не накапливая статистику. Пока работает только в клиент-серверном варианте.

Как вы уже знаете, мы запустили новую услугу VPS сервер с предустановленной 1С. В прошлой статье вы задали много технических вопросов в комментариях, сделали несколько ценных замечаний. Оно и понятно — каждый из нас хочет иметь какие-то гарантии и расчёты на руках, чтобы принять решение об изменении IT-инфраструктуры компании. Мы прислушались к голосу Хабра и решили провести тестирование реального железа офисного хлама, который вполне возможно служит вашим сервером 1С и сравнить их с виртуальными серверами.


Для этого мы взяли несколько наших офисных компьютеров и виртуальных машин, созданных в разных дата-центрах и провели тестирование с помощью «Теста Гилёва».

Тест Гилева оценивает количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок, включая скорость отрисовки интерфейса, влияния затрат на обслуживание виртуальной среды если есть, перепроведения документов, закрытия месяца, расчета зарплаты и т.п.

В тестировании участвовали следующие машины:

VM1 – 2 ядра по 3,4ггц, 4 Гб ОЗУ и 20 Гб SSD.
VM2 – 2 ядра по 2.6ггц, 4 Гб ОЗУ и 20 Гб SSD
PC1 – I5-3450, Asus B75M-A с HDD ST100DM003-1CH162
PC2 – I3-7600, H270M-Pro4, с SSD Toshiba TR150
PC3 – i3-8100, Asrock Z370 Pro4, с SSD Intel SSDSC2KW240H6
PC4 – i3-6100, Gigabyte H110M-S2H R2 с SSD Patriot Spark на 512 Гб
PC5 – i3-100, Gigabyte H110M-S2H R2 с HDD Hitachi HDS721010CLA332

Надеемся статья будет полезна при выборе конфигурации железа для работы с 1С. Далее представляем результаты тестов.















Итоги теста в баллах


Первое место занял виртуальный сервер с новеньким GOLD 6128 @ 3.4 GHz — 75.76 баллов
Второе место за i5-7600 – 67.57 баллов. Третье и четвертое место за i3-8100 и Gold 6132 @ 2.6GHz по 64 и 60 баллов соответственно.

Это показывает, насколько в этом синтетическом тесте важна частота процессора и насколько не важна дисковая подсистема. Теперь немного маркетингового пересчета.


Цена в рублях из расчета аренды сервера на год, против покупки аналогичного железа.

PC1 с I5-3450 на борту — ценнейший раритет, поэтому мы считаем его бесценным и не будем брать во внимание стоимость его эксплуатации. (Мы не нашли в продаже эту же модель диска.)
Цены на железо установленное в эти ящики взяты из яндекс маркета, без учета стоимости кулеров, корпусов и блоков питания. Всегда находилась конкретная модель плашки оперативной памяти, материнской платы, установленный в каждый из компьютеров и из этого всего выбиралось самое дешевое предложение.

Итоговая таблица в баллах и стоимости

Машина
Баллы
Стоимость
VM1
75.76
1404₽ в месяц
VM2
60.24
1166₽ в месяц
PC1
33.56
От 17800₽ до 47800₽
PC2
67.57
15135,68₽
PC3
64.1
19999,2₽
PC4
45.05
18695,75₽
PC5
40.65
16422,6₽

Выводы

Размещение 1С на VDS стало достаточно выгодной опцией, если сравнивать его с приведенным железом.

Нужно понимать, что, сравнивая цены нужно держать в уме, что реальное железо всегда останется вашим хоть и потребляет электроэнергию и амортизируется, но так же вы теряете в отказоустойчивости, избыточности облака, в котором все, что должно быть зарезервировано, было продублировано. Кроме того, вы ощутимо теряете в гибкости, масштабировании, времени на настройку и в деньгах на зарплату инженера, который будет поддерживать железный зоопарк. Нам кажется, 1С на VDS — вполне целевое решение, которое может снять головные боли многих компаний. Поэтому пересматривайте тесты, открывайте эксель, считайте и принимайте решение — у вас будет «не шаткий, не валкий» январь, чтобы безболезненно внести изменения в инфраструктуру и в новом сезоне работать удобнее и проще.

Не раз было такое. подключаюсь к заказчику из-за какой-то новой ошибки, и вот опять:


А проблема, собственно, в том, что некоторые алгоритмы, которые успешно выполняются в режиме "Файловый", выполняются с ограничениями или не выполняются в режиме "Серверный". Один из популярных случаев - работа с DCOM компонентами. Когда, например, "Excel.Application" выполняется на сервере, а на клиенте не учитывается факт, что компонента может быть недоступна для службы Агента сервера 1С:Предприятие. Или другой случай - в обработке реализуется работа с файлами, которые должны сохраняться на клиенте через асинхронные процедуры Получение/ПомещениеФайлаНаСервере. В файловом режиме может работать без проблем, а в серверном оказывается, что не выполнена настройка какого-нибудь важного параметра. Еще случай - создание и использование схемы компоновки данных (СКД) должно выполняться на сервере, а на клиенте пересылаться с использованием процедур Поместить/ПолучитьИзВременногоХранилища, что может приводить к проблемам при неправильной программной генерации СКД.

В общем, свои алгоритмы надо тестировать во всех режимах использования, и дорабатывать для хорошей поддержки.

Аккуратно! Программистам и администраторам 1С8 с большим опытом дальше не читать) Не претендую на лавры. Публикация в помощь коллегам и друзьям с небольшим опытом.

В публикации не рассматривается настройка и тестирование базы данных в режиме "Веб-сервер".

Необходимые этапы настройки сервера 1С:Предприятие:

Название что в гугле
1. Установка платформы 1С со службами сервера Установка системы управления базами данных - СУБД (например, SQL Server) ----->
3. Создание информационной базы на сервере СУБД Выгрузка файловой базы данных 1С и загрузка на сервер СУБД ----->
5. Подключение к серверу СУБД по сети для запуска 1С на клиенте ----->
6. Включения отладки в режиме клиент-сервер ----->

Пункты 1,2,3,4,6 выполняются на серверной стороне, пункт 5 - и на сервере, и на клиенте.

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

Клиент-серверная архитектура предполагает 2 точки использования базы данных - клиент и сервер.

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

ВЫБРАННЫЕ УСЛОВИЯ запуска: в качестве примера, используем стандартный ПК на основе Windows 10 Pro (x86-64) с обычной администраторской учетной записью для клиентской и серверной стороны, которые подключены к одной и той же сети со стандартными настройками, подобно домашней локальной и беспроводной сети. Используемая версия платформы: 1C:Предприятие 8 (x86-64) (8.3.18.1289).

Возможная схема нашей примитивной информационной системы:


I. Выполнение пункта 1 "Установка платформы 1С со службами сервера"

На сервере. Во время установки, для использования сервера 1C:Предприятие 8, добавить компоненты:


Понятно, что мы используем лицензионную версию с аппаратным ключом.

Если выбрать настройку "Создать пользователя USR1CV8", то служба Windows сервера 1C:Предприятие 8 будет запускаться учетной записью USR1CV8. По умолчанию, эта учетная запись создается со стандартными правами (не администраторскими), и если нужно будет выполнять действия, которые затрагивают системные компоненты (например, DCOM), то эти действия будут выполняться с ошибками.

Изменение типа учетной записи USR1CV8 (Параметры-Учетные записи-Семья и другие пользователи):


Если, всё таки, потребуется отказаться от использования учетной записи USR1CV8, то это можно изменить в панели "Службы" для "Агент сервера 1С:Предприятие" (Win+R, services.msc, OK):


Проверка, что фоновые процессы сервера 1С:Предприятие работают (Ctrl+Shift+Esc):


II. Выполнение пункта 2 "Установка системы управления базами данных - СУБД (например, SQL Server)"

На сервере. Для тестирования своих разработок достаточно установить бесплатную версию SQL Server Express. Например, подойдёт версия SQL Server 2014 Express. Поскольку запуск выполняется в Windows 10 Pro x86-64, скачиваем и устанавливаем SQL Server 2014 Express Edition with Tools with Service Pack 3, x64, English.

В простейшем случае, все настройки установщика используются по умолчанию, за исключением одного пункта - "Режим авторизации (Authentication mode)", в котором нужно разрешить авторизацию с помощью аккаунтов SQL Server и задать пароль для стандартного аккаунта "sa":


Запоминаем эти данные: аккаунт "sa" и заданный пароль (например, "1").

III. Выполнение пункта 3 "Создание информационной базы на сервере СУБД"

На сервере. В многочисленных статьях и инструкциях на эту тему всё хорошо расписано. Но бывает, что не упоминается о необходимости регистрации внешней компоненты консоли управления администрирования серверов 1С, которую рекомендуется использовать для создания кластеров и информационных баз. Можно обойтись без использования консоли управления, и добавить информационную базу в окне приветствия 1С:Предприятие.


Установщик платформы 1С 8.3 создает и добавляет в меню пуск ссылку на файл *.cmd для регистрации внешней компоненты radmin.dll консоли управления администрирования серверов 1С:


Далее, перед добавлением информационной базы, нужно проверить работу SQL Server. Для этого можно использовать консоль управления SQL Server Management Studio, которая добавляется при установке SQL Server или устанавливается отдельно.

Для подключения можно использовать стандартную учетную запись "sa" и пароль, заданный во время установки SQL Server:


Если подключение успешное, то можно приступить к созданию информационной базы в консоли управления администрирования серверов 1С:


Сервер базы данных - такой же как в консоли управления SQL Server Management Studio (в примере "DESKTOP-K80105I"). Тип СУБД - "MS SQL Server". Пользователь сервера - "sa" и пароль, заданный во время установки SQL Server (например, "1"). При создании новой информационной базы - обязательно установить флаг "Создать базу данных в случае её отсутствия".

Если все параметры введены правильно, то можно убедиться, что в консолях управления появилась создаваемая информационная база. Имя "unf1.6" нужно запомнить для следующего пункта.


IV. Выполнение пункта 4 "Выгрузка файловой базы данных 1С и загрузка на сервер СУБД"

На сервере. Файловую базу данных нужно выгрузить в файл формата *.dt. В многочисленных статьях подробно приводится инструкция. Коротко - в конфигураторе открываем файловую базу данных, далее пункт меню "Администрирование - Выгрузить информационную базу". Получится файл со стандартным названием 1Cv8.dt.

Добавляем новую информационную базу на сервере - в окне приветствия 1С. Используемое имя кластера серверов и информационной базы как в предыдущих пунктах. Загружаем файл 1Cv8.dt в конфигураторе:


V. Выполнение пункта 5 "Подключение к службе СУБД по сети для запуска 1С на клиенте"

На сервере. Основная задача этого пункта заключается в обеспечении доступа к серверу по сети, и главное препятствие здесь - сетевой экран (Брандмауэр или Firewall). Рассматриваем подключение клиента и сервера в одной и той же сети со стандартными настройками, подобно домашней локальной и беспроводной сети. А значит сетевой экран на маршрутизаторе со стандартными настройками (см.схему информационной системы выше).

Настройка Брандмауэра Windows (Firewall) выполняется на сервере в специальной консоли: Параметры — Сеть и интернет — Брандмауэр Windows — Дополнительные параметры.

Необходимо открыть входящее подключение: Правила для входящих подключений — Создать правило для порта — Протокол TCP (Определённые локальные порты: например, 1433) — Разрешить подключение

Порты на сервере с использованием SQL Server для входящих подключений (по умолчанию):

  • 1433 — на сервере SQL для управления экземплярами баз данных ;
  • 1434 — на сервере SQL для выделенного административного соединения (например, с помощью sqlcmd);
  • 1540 — на сервере 1С для удаленных подключений с помощью утилиты администрирования (консоль 1CV8 Servers msc);
  • 1541 — на сервере 1С для менеджера кластера серверов;
  • Диапазон — на сервере 1С для рабочих процессов.


В простейшем случае, достаточно открыть 2 порта: 1541,1560.

Если потребуются дополнительные другие порты, то при запуске 1С на клиенте, будет выведено уведомление.

На клиенте. На рабочей станции клиента установлена платформа 1С 8.3 со стандартными компонентами (без сервера 1С:Предприятие). Далее добавляем новую информационную базу. Используемое имя кластера серверов и информационной базы как в предыдущих пунктах. В приведенном примере имя кластера серверов совпадает с сетевым именем ПК сервера. Если все настройки сделаны верно, то запуск информационной базы на клиенте будет успешным.


Запускаем информационную базу "unf1.6_SQL_Server" на клиенте, чтобы убедиться в работоспособности:


VI. Выполнение пункта 6 "Включения отладки в режиме клиент-сервер"

На сервере. В заключении, можно настроить режим отладки для сервера 1С:Предприятие, поскольку по умолчанию никакие серверные функции и процедуры не будут поддаваться пошаговой отладке, они будут выполняться на сервере, и не будут видны для клиентской машины.

  1. Остановить службу "Агент сервера 1С:Предприятия 8.3 (x86-64)" (Windows+R, services.msc, OK),
  2. Запустить редактор системного реестра. Нажать Windows+R (или Пуск-Выполнить), ввести regedit, ОК.
  3. Найти ветку реестра [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\1C:Enterprise 8.3 Server Agent\].
  4. Изменить свойство "ImagePath". Добавляем в строку "-debug".
  5. Записываем и запускаем службу "Агент сервера 1С:Предприятия 8.3 (x86-64)".


Именно на клиенте надо тестировать алгоритмы, которые успешно выполняются в режиме "Файловый", но выполняются с ограничениями или не выполняются в режиме "Серверный".

Далее можно убедиться, что пошаговая отладка работает и на клиентской машине, при наличии точек останова в серверных процедурах.


В результате настройки клиент-серверного режима, при разработке можно сразу тестировать алгоритмы, делать дополнительные проверки и учитывать результат в параметрах, добавлять в диалогах какие-либо подсказки, делать программный продукт более качественным.

Публикация простая, где-то повтор. Не судите строго. Напишите предложения для улучшения, сообщите о недостатках в комментариях. Спасибо!

Читайте также: