Клиент-серверный вариант работы
Клиент-серверный вариант работы — один из вариантов работы системы «1С:Предприятие 8». Клиент-серверный вариант работы предназначен для использования в рабочих группах или в масштабе предприятия. Он реализован на основе трехуровневой архитектуры «клиент-сервер».
Программа, работающая у пользователя, (клиентское приложение) взаимодействует с кластером серверов «1С:Предприятия 8», а кластер, при необходимости, обращается к серверу баз данных.
При этом физически кластер серверов «1С:Предприятия 8» и сервер баз данных могут располагаться как на одном компьютере, так и на разных. Это позволяет администратору при необходимости распределять нагрузку между серверами.
Использование кластера серверов «1С:Предприятия 8» позволяет сосредоточить на нем выполнение наиболее объемных операций по обработке данных. Например, при выполнении даже весьма сложных запросов программа, работающая у пользователя, будет получать только необходимую ей выборку, а вся промежуточная обработка будет выполняться на сервере. Обычно увеличить мощность кластера серверов гораздо проще, чем обновить весь парк клиентских машин.
Другим важным аспектом использования 3-х уровневой архитектуры является удобство администрирования и упорядочивание доступа пользователей к информационной базе. В этом варианте пользователь не должен знать о физическом расположении конфигурации или базы данных. Весь доступ осуществляется через кластер серверов «1С:Предприятия 8». При обращении к той или иной информационной базе пользователь должен указать только имя кластера и имя информационной базы, а система запрашивает соответственно имя и пароль пользователя.
- механизм запросов ориентирован на максимальное использование СУБД для выполнения расчетов и составления отчетов,
- просмотр больших динамических списков обеспечивается без выполнения большого количества обращений к базе данных; при этом пользователю предоставляются возможности эффективного поиска, а также настройки отбора и сортировки.
Развертывание клиент-серверного варианта и его администрирование выполняется довольно просто. Например, создание базы данных производится непосредственно в процессе запуска конфигуратора (так же, как и для файлового варианта).
Клиентские приложения
Работа в клиент-серверном варианте возможна как напрямую с кластером, так и через веб-сервер. При этом в случае непосредственного подключения к кластеру толстый клиент и тонкий клиент используют протокол TCP/IP. При подключении через веб-сервер тонкий клиент и веб-клиент используют протокол HTTP или HTTPS.
Кластер серверов
Кластер серверов «1С:Предприятия 8» — основной компонент платформы, обеспечивающий взаимодействие между пользователями и системой управления базами данных в клиент-серверном варианте работы. Наличие кластера позволяет обеспечить бесперебойную, отказоустойчивую, конкурентную работу большого количества пользователей с крупными информационными базами. Подробнее…
Сервер баз данных
Администрирование кластера серверов
В поставку платформы входит набор различных инструментов, позволяющих администратору управлять составом кластера, информационными базами и подключением пользователей. Подробнее…
Выполнение основной функциональности на сервере
Вся работа с прикладными объектами, чтение и запись базы данных выполняется только на сервере. Функциональность форм и командного интерфейса также реализована на сервере.
На сервере выполняется подготовка данных форм, расположение элементов, запись данных форм после изменения. На клиенте отображается уже подготовленная на сервере форма, выполняется ввод данных и вызовы сервера для записи введенных данных и других необходимых действий.
Аналогично командный интерфейс формируется на сервере и отображается на клиенте. Также и отчеты формируются полностью на сервере и отображаются на клиенте.
При этом механизмы платформы ориентированы на минимизацию объема данных, передаваемых на клиентский компьютер. Например, данные списков, табличных частей и отчетов передаются с сервера не сразу, а по мере просмотра их пользователем.
- Запросы к базе данных,
- Запись данных,
- Проведение документов,
- Различные расчеты,
- Выполнение обработок,
- Формирование отчетов,
- Подготовка форм к отображению.
- Получение и открытие форм,
- Отображение форм,
- «Общение» с пользователем (предупреждения, вопросы…),
- Небольшие расчеты в формах, требующие быстрой реакции (например, умножение цены на количество),
- Работа с локальными файлами,
- Работа с торговым оборудованием.
Использование встроенного языка на клиенте
Управлять функциональностью форм можно не только на сервере, но и на клиенте. На клиенте поддерживается работа встроенного языка. Он используется в тех случаях, когда необходимо провести расчеты, связанные с отображенной на экране формой, например, быстро (без обращения к серверу) подсчитать сумму строки документа на основе цены и количества; задать пользователю вопрос и обработать ответ; прочитать файл из файловой системы компьютера и отправить его на сервер.
Однако работа встроенного языка на клиенте поддерживается в строго ограниченном объеме. Клиентские процедуры в модулях в явном виде отделяются от серверных, и в них используется ограниченный состав объектной модели встроенного языка.
На клиенте не допускается непосредственная работа с базой данных. Не допускается работа непосредственно с прикладными объектами, например, недоступны такие типы встроенного языка, как СправочникОбъект. . Не допускается использование запросов. При необходимости вызова действий с данными в клиентском коде нужно вызывать серверные процедуры, которые уже будут обращаться к данным.
Установка сервера 1С и MS SQL с настройкой для оптимизации 1С
Открываем папку с файлами установки сервера «1С:Предприятие» и нажимаем на файл setup.exe.
Запуститься помощник установки «1С:Предприятия». Нажимаем «Далее».
На следующей странице требуется выбрать те компоненты, которые будут установлены:
- «Сервер 1С:Предприятие» — компоненты сервера «1С:Предприятие»
- «Администрирование сервера 1С:Предприятия» — дополнительные компоненты для администрирования серверов «1С:Предприятия»
Сделав выбор, нажимаем «Далее».
Определяем язык интерфейса, который будет использоваться по умолчанию, и нажмем «Далее».
Если сервер «1С:Предприятие» устанавливается как служба Windows (а так в большинстве случаев и следует его устанавливать) — рекомендуем сразу создать отдельного пользователя, из-под которого будет запускаться эта служба.
- Оставляем включенным флаг «Установить сервер 1С:Предприятие как сервис Windows (рекомендуется)».
- Переключаем соответствующий переключатель в «Создать пользователя USR1CV8».
- Вводим 2 раза пароль для создаваемого пользователя. По умолчанию пароль должен отвечать политики паролей Windows.
- Можно также и выбрать существующего пользователя для запуска сервера «1С:Предприятия». В этом случае выбранный пользователь должен обладать правами:
- Вход в систему как сервис (Log on as a service);
- Вход в систему как пакетное задание (Log on as a batch job);
- Пользователи журналов производительности (Performance Log Users).
Также данному пользователю обязательно следует дать необходимые права на каталог служебных файлов сервера (по умолчанию C:\Program Files\1cv8\srvinfo для 64-х разрядного и C:\Program Files (x86)\1cv8\srvinfo для 32-х разрядного сервера).
Созданный автоматически пользователь USR1CV8 будет обладать всеми перечисленными правами.
Заполнив соответствующие параметры, жмем «Далее».
Нажимаем «Установить» для того чтобы начать установку. При этом будет произведено копирование файлов выбранных компонент, создание конфигурационных файлов, регистрация компонентов программы, создание ярлыков, а также запуск службы сервера «1С:Предприятия».
По завершении установки помощник предложит установить драйвер защиты — HASP Device Driver. Если используется программная лицензия на сервер «1С:Предприятия», производить установку драйвера нет необходимости. Оставляем или снимаем флаг «Установить драйвер защиты» и жмем «Далее».
Если установка завершена успешно, откроется последняя страница помощника установки. Нажимаем «Готово» для завершения работы мастера.
На рисунке ниже изображены основные компоненты необходимые для базовой установки сервера.
При первой установке в следующем окне ничего менять не нужно.
Для выбранных компонент экземпляра необходимо создать пользователей с административными правами для запуска этих компонентов в качестве службы.
На следующем этапе необходимо указать смешанный режим проверки подлинности и указать пароль пользователя sa, а также добавить пользователя Windows, которые будет иметь право администрировать СУБД.
На вкладке «Каталоги данных» необходимо указать дефолтное размещение пользовательских баз данных, а также указать каталоги системных баз данных. Для повышения производительности SQL Server желательно разносить функционально разные базы данных. Так на отдельные физические диски необходимо разносить пользовательские данные, журнал пользовательских баз данных, базу данных temp и ее журнал. Также возможно указать дефолтный каталог для хранения резервных копий баз данных.
Если все сделано правильно, остается прощелкать кнопку «Далее» и дождаться установки SQL Server.
3.1. Включаем режим Shared memory.
«Shared Memory» включится только на платформе начиная с 1С 8.2.17, на более ранних релизах включится «Named Pipe» – несколько уступающий в скорости работы. Актуально, если службы 1С и MS SQL установлены на одном физическом или виртуальном сервере.
3.2. Настройка кластера 1С:Предприятие.
Настройки кластера 1С отвечают за параметры всех серверов 1С, принадлежащих кластеру. Кластер подразумевает работу нескольких физических или виртуальных серверов, работающих с одними и теми же информационными базами.
- Интервал перезапуска – отвечает за частоту перезапуска рабочих процессов кластера. Автоматический перезапуск был разработан в платформе «для минимизации отрицательных последствий фрагментации и утечки памяти в рабочих процессах». Однако, автоматический перезапуск может приводить к разрыву соединений в активных сессиях, поэтому в некоторых случаях предпочтительнее регламентные операции по перезапуску процессов 1С и очистке серверного кэша проводить вручную, либо с помощью скрипта.
- Допустимый объем памяти – защищает сервера 1С от перерасхода памяти. При превышении процессом этого объема в интервале превышения допустимого объема, процесс перезапускается. По сути – это максимальный размер ОЗУ, занимаемый процессами «rphost» в периоды пиковой нагрузки серверов. Рекомендуется установить небольшой порог превышения допустимого объема.
- Допустимое отклонение количества ошибок сервера. Платформа рассчитывает среднее количество ошибок сервера по отношению к числу обращений к серверу в течение 5 минут. Если это отношение превысит допустимое, то рабочий процесс считается «проблемным», и может быть завершен системой, если установлен флаг «Принудительно завершать проблемные процессы».
- Выключенные процессы останавливать через « ». При превышении допустимого объема памяти, рабочий процесс не завершается сразу, а становится «выключенным», чтобы было время «перенести» рабочие данные без потери на новый запущенный рабочий процесс. Если указан этот параметр, то «выключенный» процесс в любом случае завершится по истечении этого времени. Если наблюдаются «зависшие» рабочие процессы в работе сервера 1С, то рекомендуем рассмотреть использование данного параметра путем установки таймера на 3-5 минут.
3.3. Настройка сервера 1С:Предприятие.
Эти настройки устанавливаются для каждого сервера 1С персонально.
- Максимальный объем памяти рабочих процессов – это объем совокупной памяти, которую могут занимать рабочие процессы (rphost) на текущем кластере.
- Если параметр установлен в «0», то процесс может потреблять до 80% ОЗУ сервера.
- Если «1» — без ограничений.
Когда на одном сервере работают СУБД и сервер 1С, им нужно делить между собой оперативную память. Если в процессе эксплуатации выяснится, что серверу СУБД не хватает ОЗУ, то с помощью этого параметра есть возможность вручную ограничить память, выделяемую серверу 1С:Предприятие.
- Безопасный расход памяти за один вызов. Отдельные вызовы процедур не должны занимать всю оперативную память, выделенную рабочему процессу.
- Если параметр установлен в «0», то объем безопасного расхода ОЗУ будет равен 5 % от «Максимального объема памяти рабочих процессов».
- «1» — без ограничения, что крайне не рекомендуется. В большинстве случаев этот параметр лучше оставлять «0».
- С помощью параметров «Количество ИБ на процесс» и «Количество соединений на процесс» можно управлять распределением работы сервера 1С:Предприятие по рабочим процессам rphost. Например, запускать под каждую информационную базу отдельный «rphost». Эти параметры стоит подбирать индивидуально под каждую конфигурацию сервера 1С.
4.1. Настройка SQL сервера.
- Включаем Shared memory (показано на картинке). Актуально если службы 1С и MSSQL установлены на одном физическом или виртуальном сервере.
Проверить можно, выполнив запрос:
- Устанавливаем максимально отведенное серверу количество памяти.
- Устанавливаем сжатие БД при резервном копировании и дефолтные места для хранения файлов БД
4.2. Настройка Базы данных.
После того, как сервер СУБД оптимизирован – переходим к настройкам баз.
- Рекомендуется указать автоувеличение размера
- Размещение файлов данных на разных дисках высокой производительности.
- Установка простой модели восстановления пользовательских баз для избегания разрастания файла журнала транзакций.
4.3. Настройка регламентных заданий.
- Ежедневные:
- Дефрагментация
Например: ежедневно (кроме субботы) в 22:00
- Еженедельные:
- Реиндексация
Например: запускается раз в неделю в субботу в 22.00
Мы также готовы оказать помощь в установке и настройке сервера 1С, оптимизации.
Альтернативным вариантом является аренда готового сервера 1С, где уже произведены все настройки и включено обслуживание.