что такое сервер 1с предприятия как его использовать
Сервер 1С
Сервер – это специализированный мощный компьютер. Кроме того, сервером может называться программа, которая работает в клиент-серверном режиме и обслуживает много клиентов предприятия.
Например, сервер 1С – это специализированная СУБД «1С:Предприятие» (либо другая комплектация модулей платформы 1С) под управлением SQL-сервера, такого как Microsoft SQL Server, Linux PostgreSQL, IBM DB2, Oracle Database и т. д.
Выделенный физический сервер 1С обычно используют предприятия, в которых с базами данных 1С могут одновременно работать 10 и более пользователей. При меньшем количестве пользователей 1С нет смысла выделять для этой цели отдельный физический сервер, и база данных 1С может располагаться на одном из компьютеров пользователей, а остальные пользователи предприятия имеют к ней доступ через общую сетевую папку.
Под термином «Сервер 1С» может подразумеваться следующее:
Выбор варианта реализации должен производиться в зависимости от потребностей предприятия, а также соображений целесообразности использования той или иной платформы или компьютерной архитектуры.
Преимущества выделенного сервера 1С
Сервер 1С на 10-15 пользователей
Примерная архитектура сервера 1С для предприятия на 10-50 пользователей в варианте установки в собственной ИТ-системе (on-premise) предприятия показана на рисунке:
Примерная архитектура сервера 1С для небольшого предприятия
Для числа пользователей более 50 рекомендуется использовать отдельный физический терминальный сервер.
Кроме того, платформа 1С поддерживает ОС Linux и СУБД PostgreSQL. Такой вариант может обойтись дешевле, чем покупка физического сервера Windows. Однако, настройка Linux имеет свои нюансы, и поэтому для правильной работы под Linux, вероятно, потребуется помощь квалифицированного специалиста.
Мощность физического сервера
Мощность физического сервера для 1С выбирается из величины пиковых нагрузок, количества пользователей и объема базы данных. Причем, нужно принимать во внимание, что все эти цифры со временем будут расти. Излишняя мощность физического сервера не прибавит производительности, однако, при недостатке производительности сервера пользователи почувствуют значительные неудобства: задержки, «зависания» программы, и пр.
Если на одном сервере в компании с 10-20 сотрудниками будет установлена операционная система, СУБД и программа 1С, то понадобится минимум по 2 ГБ оперативной памяти для базы данных и операционной системы и еще 4 Гб для 1C, то есть 8 ГБ. Если в компании работают более 20-30 сотрудников и есть нескольких баз данных, то объем ОЗУ должен быть 16 Гб и более, если пользователей более 50, то нужно ставить не менее 32 ГБ оперативной памяти.
Объем оперативной памяти
Объем оперативной памяти можно определить из следующих соображений:
Количество ядер
Количество ядер процессора тоже зависит от количества пользователей 1С, а также от объема базы данных. Чем больше сотрудников и тяжелее база данных, тем больше ядер необходимо: 2-ядерного процессора будет достаточно для компаний с 5-20 сотрудниками и объемом базы данных до 1 ГБ. При числе сотрудников от 20 и более, лучше выбирать 4-ядерный процессор.
Система хранения данных
Система хранения данных. Ее объем и тип также важны для хорошей работы 1С. Особенно важно количество операций ввода-вывода в секунду (IOPS), которое может обеспечить СХД, а также величина задержки чтения данных. В среднем на одного пользователя нужна скорость 100-200 IOPS. Диски SAS на 10000-15000 оборотов в секунду дают более высокую скорость исполнения операций, чем диски SATA на 5400-7200 оборотов. Твердотельные накопители SSD имеют наилучшие показатели IOPS.
Для выбора дисковой СХД можно ориентироваться на следующие параметры:
Параметр | Тип дисков | |||
---|---|---|---|---|
Desktop SATA 7200 rpm | Enterprise SATA \ SAS NL 7200 rpm | Enterprise SAS 15 000 rpm | Enterprise SATA SSD | |
Задержка, микросекунд (Latency) | 4 160 | 4 160 | 2 000 | 40/50 |
Количество операций чтения в секунду, IOPS | 120-140 | 120-140 | 240-300 | 90 000 |
Количество операций записи в секунду, IOPS | 100-120 | 100-120 | 220-280 | 30 000 |
Выбор параметров СХД для 1С (источник: larga.ru)
Сетевой интерфейс
Для небольших предприятий сетевой интерфейс Ethernet наиболее эффективен, как по производительности, так и по стоимости. При этом сервер базы данных SQL, сервер приложений «1С» могут находиться на одном физическом сервере. На нем же может располагаться терминальный сервер для удаленного доступа пользователей.
При такой конфигурации прямая передача через оперативную память или виртуальный сетевой интерфейс между сервером базы данных, сервером 1С и терминальным сервером происходит существенно быстрее, чем если их располагать на разных физических серверах.
Однако, с точки зрения надежности, такую конфигурацию нельзя назвать эффективной, поскольку отказ в физическом сервере прекращает работу всей системы. Использовав технологии виртуализации и кластеризации, надежность можно повысить. Поэтому для базы данных большого объема и с частым обращением к ней можно использовать несколько физических хостов (кластеров), которые объединены по сети Ethernet 10G.
В небольших базах данных, на серверах с сетевыми интерфейсами Ethernet 1G, а также на встроенных в процессорный чипсет сетевых адаптерах производительность вычислений заметно «проседает». Это происходит по причине того, что такая конфигурация сетевого интерфейса задействует ресурсы процессора, оперативной памяти и шины материнской платы сервера. Особенно это будет заметно при использовании виртуализированных серверов. Поэтому для сетевого интерфейса лучше использовать выделенный аппаратный адаптер. Иначе разобраться, почему у базы 1С такая низкая производительность, обычному пользователю будет весьма непросто.
Сервер 1С — что это и как работает
Когда в 1С одновременно работает много сотрудников, программа может «тормозить». Чтобы избавиться от этой проблемы и обеспечить быстродействие при работе с большими объемами информации и был создан сервер 1С.
Сервер 1С включает два компонента: сервер приложений, обрабатывающий данные, и SQL сервер, который хранит данные. Совместим с такими продуктами, как: Microsoft SQL Server, Linux PostgreSQL, IBM DB2. Сервер 1С выступает посредником между сервером баз данных и клиентскими компьютерами. Он берет на себя тяжелые вычислительные задачи, существенно разгружая клиентские компьютеры.
До выхода линейки версий 1C 7 понятия сервер не существовало – была просто программа 1С, которая плавно эволюционировала в «толстый клиент». Она работала с собственной файловой базой, то есть все хранили в файле на диске, или сетевом диске на другом сервере.
Файл-серверные архитектуры применяют и сейчас, но они имеют ряд ограничений. Например, трудно организовать одновременную работу нескольких пользователей, ограничен размер базы и быстродействие, а при большой номенклатуре (как у оптовиков) БД просто не справляется с запросами.
Важным развитием 1С стал переход на технологию клиент-сервер. В платформе 7.7 появилась экспериментальная SQL-версия, которая использовала для хранения базы данных и управления ею отдельную СУБД.
В 1С:Предприятие 8.0 произошло разделение на клиентские и серверные процедуры. С тех пор установка и настройка сервера 1С стали штатной возможностью.
Переходить на эту технологию целесообразно крупным и средним компаниям, когда файловая база уже не справляется, и требуется полноценная СУБД. Если в организации с 1С работает от одного до пяти пользователей, типовой конфигурации хватает для поддержки бизнес-процессов, сервер не понадобится.
Когда пользовательских сессий больше десяти, локальная сеть перегружается, что сильно замедляет параллельную работу. Например, если 1C пользуется отдел из 20 человек, плюс руководство и кассиры в точках продаж. Другой пример – оптовый поставщик. Пользователей немного – пять человек, но номенклатура товаров и список контрагентов огромны. В таких случаях сервер 1С становится необходимостью. В первую очередь, для быстродействия. Кроме того, это безопаснее – файл легко скопировать, а когда база хранится в СУБД на сервере, сделать это не так просто. Также серверная версия облегчает администрирование – один сервер обновить проще и дешевле, чем все клиентские машины.
Как работает сервер 1С
Архитектура решения может быть разной, в зависимости от целей. В общем случае она включает следующие компоненты: сервер 1С: предприятие и сервер СУБД, чаще всего MSSQL или PostgresSQL PRO. Это программные сервера, которые могут находиться как на физических, так и на виртуальных серверах, на одном или на разных. Чтобы гарантировать быстродействие, лучше использовать один.
Клиенты. Если необходимо запускать платформу на ПК (например, при использовании определенных моделей торгового и кассового оборудования) – программы-клиенты устанавливаются на рабочих устройствах. Ключи защиты вставляются в эти компьютеры, раздаются по сети специальной программой или сервером 1С.
Если установить на сервере 1С компоненты веб-сервера (входят в состав Платформы 1С), клиенты будут не нужны, можно зайти через браузер даже с мобильного.
Другой вариант – программа-клиент устанавливается на том же сервере, что и сервер 1С, или на «соседнем», а пользователи заходят по RDP.
Сервер 1С в облаке
Дополнительно клиент получает высокую безопасность и конфиденциальность, так как все данные хранятся в надежном и защищенном дата-центре. Ежедневное резервное копирование исключает риски потери информации. Кроме того, даже самые высоконагруженные БД 1С функционируют в облаке быстро и без сбоев, а если база выросла, можно в пару кликов ее масштабировать, заказав дополнительные ресурсы.
Пользователь имеет доступ к платформе откуда угодно, что особенно удобно для удаленных сотрудников и крупным компаниям с сетью филиалов. При этом никаких специальных технических навыков не требуется – достаточно просто подключиться к базе, причем даже с маломощного ПК, и работать в обычном режиме.
Аренда 1С в Cloud4Y
Облачный провайдер Cloud4Y предоставляет возможность работать с полнофункциональной версией 1С по подписке. Программа устанавливается на отказоустойчивый облачный сервер, клиент подключается к нему по зашифрованному интернет-каналу с любых устройств и из любой точки мира.
Как подключить 1С в облаке? Есть три варианта реализации:
Подключение к удаленному рабочему серверу (через протокол MS RDP). Сервер 1С разворачивается на площадке провайдера, при необходимости соединяется с сервером (возможно использование защищенных соединений). Пользователь подключается к удаленному виртуальному серверу по протоколу RDP и получает визуализацию того, что происходит на другом компьютере. Все вычислительные процессы происходят на сервере.
Подключение к серверу приложений. RemoteApp – это служба удаленных приложений, которая дает доступ к 1С по протоколу RDP. Чтобы настроить связь между локальным компьютером и облачной 1С таким методом, также используется клиент удаленного рабочего стола. Вычислительные процессы выполняются на сервере с использованием приложения. В отличие от RDP пользователю доступна только программа 1С, а не весь удаленный рабочий стол.
Подключение через web-браузер. Доступ к 1С через браузер, без необходимости установки на локальные ПК. Все что требуется, просто запустить браузер и перейти по адресу.
Cloud4Y также предоставляет лицензии 1С в аренду. Если у компании уже есть свои лицензии, можно использовать собственные usb-ключи.
Услуга аренды сервера 1С поможет не только сэкономить и оптимизировать работу сотрудников с программой, но и избавит от решения технических вопросов, связанных с обслуживанием инфраструктуры.
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Около двух лет назад мы публиковали материал о сервере 1С Предприятия на платформе Linux, интерес к этой теме велик до сих пор. В тоже время многое успело измениться, платформа 1С не стоит на месте и чаще всего внедрение выходит за рамки простого повторения инструкций. Это неудивительно, сервер 1С Предприятия сложный продукт, поэтому мы решили начать этот цикл статей, нацеленный на более глубокое изучение предмета.
Прежде чем брать в руки мышку и бежать в серверную, следует четко усвоить необходимый минимум знаний, а именно иметь представление о структуре сервера 1С Предприятия и назначении его отдельных компонентов. Большинство проблем при внедрении связано с тем, что сервер 1С Предприятия воспринимается в качестве некоего монолитного образования, в котором все компоненты связаны между собой хитрым, одному разработчику известным, способом. Однако это не так и сегодня мы разберемся из чего же состоит наш сервер и как это все между собой работает.
Хотелось бы еще раз подчеркнуть чрезвычайную важность того, о чем пойдет речь ниже. Не обладая данными знаниями будет проблемно добиться стабильной работы, не говоря уже о диагностике узких мест и увеличении производительности. В итоге может получится классическая картина: вроде бы железо мощное, сделано все по инструкции, а тормозит. К сожалению, большинство инструкций для начинающих (и наша в том числе) содержат информацию лишь о том как сделать, не заостряя внимание что именно делается и почему. Поэтому начнем исправляться.
Клиент-серверная версия 1С Предприятия представляет собой трехуровневую структуру (т.н. «трехзвенка»), в которую входят: клиент, сервер 1С Предприятия и сервер СУБД. Это полностью независимые компоненты, которые могут сочетаться в любой допустимой комбинации для достижения наилучшего результата. Рассмотрим следующую схему:
Начнем с клиентов, текущая версия платформы (8.2) предусматривает использование трех типов клиентов. Разберем их подробнее.
Толстый клиент
Это классическое клиентское приложение 1С, до выхода платформы 8.2 он был единственно доступным видом клиента. Схема работы толстого клиента следующая: клиентское приложение запрашивает данные у сервера 1С, то в свою очередь запрашивает их из БД и предает обратно клиенту, на котором и производится их обработка. Как можно заметить, данная схема неоптимальна: сервер 1С по сути является всего лишь прослойкой между клиентом и БД, все вычисления происходят на клиенте. Это накладывает повышенные требования на клиентские ПК, т.к. вычислительные мощности сервера не используются. Стоит четко понимать, что в режиме толстого клиента вы не получите увеличения быстродейстивия от перехода к клиент-серверной версии, возможно даже наоборот.
Тонкий клиент
Его можно назвать основным видом клиентского приложения для платформы 8.2, в теории, на практике не все так гладко и мы еще к этому вернемся. Схема его работы кардинально иная: клиент запрашивает данные у сервера 1С, тот получает их из БД, обрабатывает и отдает клиенту результат вычислений. Основная вычислительная нагрузка при этом ложится на сервер, поэтому особых требований к клиентским ПК и каналу от клиента к серверу не предъявляется.
Веб-клиент
Его существование логично вытекает из некоторых свойств тонкого клиента, действительно, если все запросы обрабатываются сервером, транспортом служит HTTP, то почему бы не использовать для работы браузер? Схема работы веб-клиента ничем не отличается от тонкого, однако на сегодняшний день не все функции поддерживаемые тонким клиентом реализованы и корректно работают в веб-клиенте. Отчасти это можно исправить в конфигурации, отчасти накладывает ограничения механизм вывода информации в браузер. Однако веб-клиент у 1С есть и он работает и никто не мешает вам (опять таки в теории) работать в программе лежа на пляже с планшетом.
Теперь о ложке дегтя в бочке меда. Для нормальной работы в режиме тонкого и веб-клиентов конфигурация должна работать в режиме управляемого приложения и поддерживать все функции в данном режиме. Режим управляемого приложения является основным для платформы 8.2 и довольно радикально отличается от того, что было раньше, в том числе и внешне. Визуально управляемое приложение можно отличить по новому интерфейсу, отличительными чертами которого являются вкладки и гиперссылки:
Как минимум, непривычно, особенно в сравнении с классическим интерфейсом, но не спешите радоваться, увидев новый интерфейс, кроме внешнего вида, конфигурация должна поддерживать исполнение на сервере всего своего функционала, вполне может оказаться, что в режиме тонкого и веб-клиента будут доступны не все возможности.
На сегодня в режиме управляемого приложения работает лишь часть типовых конфигураций, такие как: Управление небольшой фирмой, Управление торговлей 11, Розница 2 и Зарплата и управление персоналом. Эти решения могут использовать все преимущества новой платформы. Бухгалтерия предприятия 2.0 не использует режим управляемого приложения и в тонком и веб-клиентах работать не будет, это же относится и ко многим сторонним решениям, таким как «Камин» и т.п.
Выводы
По возможности следует использовать тонкий клиент, так как это позволяет переложить все вычисления на сторону сервера комфортно работать даже на медленных каналах, в т.ч. через интернет. При этом следует помнить, что работа в режиме Конфигуратора возможна только через толстый клиент, который также придется использовать для работы с конфигурациями еще не переведенными в режим управляемого приложения.
Веб-клиент следует использовать тогда, когда нет возможности воспользоваться тонким, например с чужого ПК в командировке, при этом следует быть готовым к отсутствию или некорректной работе некоторых функций.
Кластер серверов 1С
Разобравшись с клиентами, перейдем к серверам. Система предусматривает использование трех видов серверов: Сервер 1С, сервер СУБД и веб-сервер. Важно понимать что данные сервера полностью независимы друг от друга, это придает системе гибкость и позволяет рационально использовать вычислительные ресурсы.
Также система не накладывает никаких требований к платформам. Вы можете совместно использовать как Windows так и Linux сервера, в качестве веб-сервера можно использовать Apache и IIS, из СУБД поддерживаются PostgreSQL, MS SQL Server, IBM DB2 и Oracle. Поэтому никто не мешает вам создать схему, в которой сервер 1С работающий на платформе Linux будет работать совместно с сервером БД под управлением Windows Server и IIS и наоборот. Кроме того вы можете использовать несколько серверов СУБД (как и веб-серверов) располагая разные базы на разных серверах.
Такой подход позволяет гибко комбинировать, расширять и изменять существующую конфигурацию в зависимости от текущих потребностей, при этом для конечного пользователя все будет происходить максимально прозрачно. Например вы можете вынести ресурсоемкую ИБ на отдельный сервер СУБД, изменив только параметры подключения к БД в настройках сервера не затрагивая клиентских настроек.
И наконец самое интересное: кластер серверов 1С Предприятия. Да, именно так, не одиночный сервер, а кластер серверов. Обычно здесь и начинаются непонятки, особенно если сервер один. Однако все встает на свои места, если принять во внимание, что понятие кластера серверов в первую очередь логическое, однако данный подход легко позволяет масштабировать схему повышая ее производительность или отказоустойчивость.
Любой кластер состоит из Центрального сервера 1С Предприятие и рабочих серверов. В простейшей конфигурации это будет один и тот же физический сервер. Однако при необходимости мы можем добавить дополнительные рабочие сервера, нагрузку по которым будет балансировать центральный сервер. Это позволяет быстро и прозрачно для пользователей увеличить вычислительную мощь системы и увеличить отказоустойчивость. Кластер также не накладывает требований к однородности платформы, в его составе могут работать сервера как под управлением Windows, так и под управлением Linux.
Какие выводы можно сделать из вышесказанного? Во первых, клиент-серверная система 1С Предприятие является весьма гибкой и позволяет оптимальным образом использовать доступные вычислительные ресурсы для получения оптимального результата. Какую именно конфигурацию выбрать, зависит от конкретных задач и средств, выделяемых для их решения.
Например, если у вас небольшая нагрузка и вы используете толстый клиент и не поддерживающую режим управляемого приложения конфигурацию имеет смысл совместить кластер серверов 1С и сервер СУБД на одном физическом сервере, так как выделять отдельную машину для прослойки между клиентом и БД весьма расточительно.
И наоборот, при использовании управляемого приложения в режиме тонкого клиента сервер СУБД и кластер серверов лучше разнести по разным серверам, каждый из которых будет оптимизирован под свою задачу.
Клиент-серверный вариант работы
Клиент-серверный вариант работы — один из вариантов работы системы «1С:Предприятие 8». Клиент-серверный вариант работы предназначен для использования в рабочих группах или в масштабе предприятия. Он реализован на основе трехуровневой архитектуры «клиент-сервер».
Программа, работающая у пользователя, (клиентское приложение) взаимодействует с кластером серверов «1С:Предприятия 8», а кластер, при необходимости, обращается к серверу баз данных.
При этом физически кластер серверов «1С:Предприятия 8» и сервер баз данных могут располагаться как на одном компьютере, так и на разных. Это позволяет администратору при необходимости распределять нагрузку между серверами.
Использование кластера серверов «1С:Предприятия 8» позволяет сосредоточить на нем выполнение наиболее объемных операций по обработке данных. Например, при выполнении даже весьма сложных запросов программа, работающая у пользователя, будет получать только необходимую ей выборку, а вся промежуточная обработка будет выполняться на сервере. Обычно увеличить мощность кластера серверов гораздо проще, чем обновить весь парк клиентских машин.
Другим важным аспектом использования 3-х уровневой архитектуры является удобство администрирования и упорядочивание доступа пользователей к информационной базе. В этом варианте пользователь не должен знать о физическом расположении конфигурации или базы данных. Весь доступ осуществляется через кластер серверов «1С:Предприятия 8». При обращении к той или иной информационной базе пользователь должен указать только имя кластера и имя информационной базы, а система запрашивает соответственно имя и пароль пользователя.
Развертывание клиент-серверного варианта и его администрирование выполняется довольно просто. Например, создание базы данных производится непосредственно в процессе запуска конфигуратора (так же, как и для файлового варианта).
Клиентские приложения
Работа в клиент-серверном варианте возможна как напрямую с кластером, так и через веб-сервер. При этом в случае непосредственного подключения к кластеру толстый клиент и тонкий клиент используют протокол TCP/IP. При подключении через веб-сервер тонкий клиент и веб-клиент используют протокол HTTP или HTTPS.
Кластер серверов
Кластер серверов «1С:Предприятия 8» — основной компонент платформы, обеспечивающий взаимодействие между пользователями и системой управления базами данных в клиент-серверном варианте работы. Наличие кластера позволяет обеспечить бесперебойную, отказоустойчивую, конкурентную работу большого количества пользователей с крупными информационными базами. Подробнее…
Сервер баз данных
Администрирование кластера серверов
В поставку платформы входит набор различных инструментов, позволяющих администратору управлять составом кластера, информационными базами и подключением пользователей. Подробнее…
Выполнение основной функциональности на сервере
Вся работа с прикладными объектами, чтение и запись базы данных выполняется только на сервере. Функциональность форм и командного интерфейса также реализована на сервере.
На сервере выполняется подготовка данных форм, расположение элементов, запись данных форм после изменения. На клиенте отображается уже подготовленная на сервере форма, выполняется ввод данных и вызовы сервера для записи введенных данных и других необходимых действий.
Аналогично командный интерфейс формируется на сервере и отображается на клиенте. Также и отчеты формируются полностью на сервере и отображаются на клиенте.
При этом механизмы платформы ориентированы на минимизацию объема данных, передаваемых на клиентский компьютер. Например, данные списков, табличных частей и отчетов передаются с сервера не сразу, а по мере просмотра их пользователем.
Использование встроенного языка на клиенте
Управлять функциональностью форм можно не только на сервере, но и на клиенте. На клиенте поддерживается работа встроенного языка. Он используется в тех случаях, когда необходимо провести расчеты, связанные с отображенной на экране формой, например, быстро (без обращения к серверу) подсчитать сумму строки документа на основе цены и количества; задать пользователю вопрос и обработать ответ; прочитать файл из файловой системы компьютера и отправить его на сервер.
Однако работа встроенного языка на клиенте поддерживается в строго ограниченном объеме. Клиентские процедуры в модулях в явном виде отделяются от серверных, и в них используется ограниченный состав объектной модели встроенного языка.