Многопоточный МикроСервер для файловой базы управляемого приложения 1c
Администрирование - Администрирование данных 1С - Сервисные утилиты
ОПИСАНИЕ ПРОГРАММЫ «МикроСервер УПФ» (версия 1.02)
Вступление
Небольшие организации обычно работают с базой данных в файловом режиме. Это недорогой (не требуется приобретение сервера 1с) способ организации совместной работы нескольких пользователей. Однако он имеет серьезные недостатки. Главный из них – сетевая работа с базой данных в режиме разделенного доступа. В результате скорость работы с файлом ограничивается скоростью сети, кроме того, при совместном доступе к сетевому ресурсу Windows не в лучшую сторону меняет настройки кэширования данных этого файла, что резко снижает скорость записи. При аварийном прекращении работы сети во время записи данных может произойти порча базы, часто необратимая.
К счастью, при реализации модели управляемых форм начиная с версии 8.2 фирма 1с предоставила возможность работы с файловой базой через веб-сервер. У этого способа есть следующие преимущества:
1. Намного выше скорость работы с данными, поскольку не требуется передача «сырых» данных по сети во время обработки.
2. База не боится разрывов сети во время записи, поскольку непосредственная работа с файлом данных происходит через модуль веб-сервера. Разрыв передачи данных по сети может вызвать лишь временное прекращение работы пользователей, но не порчу данных в базе и не тем более не может вызвать разрушение самой базы.
3. Нетребовательность к скорости сети и к быстродействию клиентских компьютеров. Это обеспечивает легкое масштабирование - путем апгрейда лишь одного сервера можно существенно повысить производительность работы.
4. Возможность работы как в тонком клиенте 1с, так и в веб-браузере.
5. Более высокая защищенность от утечки данных, так как пользователи не имеют непосредственного файлового доступа к базе.
Однако при работе в таком режиме можно столкнуться со следующей проблемой. Дело в том, что модуль 1с для веб-сервера — однопоточный. Соответственно, все пользователи 1с, подключенные к одному веб-серверу, встают в единую очередь серверных вызовов. Если серверные вызовы длительные, что возможно при значительных объемах данных в базе или при выполнении сложных запросов, то это может полностью парализовать работу других пользователей: они будут вынуждены ждать.
Вот что написано по этому вопросу на сайте 1с: "Прямо в адресное пространство веб-сервера загружается компонент для работы с файловой базой данных и сами данные информационной базы. При этом нагрузка на веб-сервер значительно возрастает, а пользователи одной информационной базы не имеют возможности работать параллельно. Все их запросы к базе данных выстраиваются в одну очередь. " (с)
Но решить эту проблему можно достаточно просто. Нужно использовать вместо одного веб-сервера несколько, вплоть до того, что каждому клиенту выделить свой собственный серверный процесс. К сожалению, 1с не предоставляет возможности автоматической публикации конфигурации через веб-модуль на нескольких экземплярах сервера. Тем не менее, для сервера Apachе это можно осуществить путем запуска нескольких экземпляров сервера с указанием различных конфигурационных файлов.
Описание работы программы
Программа выполняет ретрансляцию входящих tcp-соединений с указанного «главного» порта на один из портов, на которых запущен веб-сервер. Запуск экземпляров веб-сервера Apache происходит автоматически при старте программы. Для обеспечения этого программа предварительно создает временные конфигурационные файлы, которые указывает при запуске экземпляров веб-сервера.
Ретрансляция соединений происходит следующим образом: Поступившее соединение проверяется по таблице активных трансляций. Если трансляция от ip-адреса источника уже существует, то используется экземпляр веб-сервера, связанный с этой трансляцией и соединение ретранслируется на соответствующий порт Apache. Если же поступившее соединение в таблице трансляций не найдено — то оно направляется на экземпляр веб-сервера с наименьшим (или нулевым) количеством активных трансляций, при этом информация об этом сохраняется в таблице трансляций. Трансляции, время жизни которых превысило таймаут сессии (25 минут по умолчанию), считаются неактивными и удаляются из таблицы трансляций. Экземпляры веб-сервера перезапускаются автоматически в фоновом режиме таким образом, чтобы минимизировать время недоступности сервиса. Перезапуск веб-серверов позволяет освободить память.
Необходимо особо отметить следующие нюансы:
С рабочим процессом веб-сервера ассоциируется именно клиентский компьютер, а не клиентский сеанс 1С:Предприятия. Соответственно, если с одного компьютера будет несколько подключений — они все будут обслуживаться одним веб-сервером. Однако, это более эффективно, чем работа всех пользователей всей локальной сети в одном серверном процессе.
Для сервера терминалов данное решение будет плохо применимо по причине, указанной выше. Все соединения с сервера терминалов будут идти от одного IP-адреса, соответственно, они будут транслироваться на один рабочий процесс веб-сервера.
Необходимо отключать использование прокси-сервера в клиентских приложениях, поскольку в этом случае все клиенты будут подключаться к программе от адреса прокси-сервера. При использовании тонкого клиента это решается ключом запуска /NoProxy, при использовании веб-клиента — через настройки браузера.
Все имена и пути в ini-файле должны быть заданы в латинском алфавите
Перед выполнением действий, требующих установки монопольного режима (удаление помеченных объектов, тестирование и исправление и т.п.), необходимо останавливать программу МикроСервер УПФ (сервис), и выполнять эти действия через обычное подключение к базе. Это связано с особенностями механизма установки монопольного режима при многопользовательском доступе через веб-сервер, который не полностью с данной технологией.
Данное решение ни в коей мере не затрагивает лицензирование 1с, оно не увеличивает и не уменьшает потребностей в клиентских лицензиях.
Системные требования
1C версии 8.2 и выше (рекомендуется не ниже 8.3.5), с установленным тонким клиентом для файлового режима и с модулями расширения веб-сервера.
ОС Windows XP, 7, 2003Server
Apache 2.2
Права администратора для установки и настройки программы
Разрешения брандмауэра на подключение к используемым портам
Наличие достаточного объема свободной оперативной памяти для запуска заданного количества веб-серверов с модулями 1с. Потребность в памяти определяется прикладным решением (конфигурацией). В частности, для БП 3.0 следует планировать минимум 0,5 Гб на один экземпляр веб-сервера.
Запуск и настройка
Программа может быть запущена как обычное консольное приложение, так и быть установлена как служба Windows с именем apache_1c_redir. Предпочтительнее работа в режиме службы. Для установки программы как сервиса нужно запустить redir_1c.exe с ключом '-i' или выбрать соответствующий элемент из группы программы в меню Пуск. Для удаления службы используется ключ '-r'.
Параметры программы задаются с помощью файла redir_1c.ini, который находится в каталоге программы. Далее приведено описание параметров ini-файла. В значениях параметров не допускаются буквы национальных алфавитов, все пути к файлам должны быть заданы латиницей!
MAIN_PORT
Задает tcp-порт, на котором программа принимает соединения от клиентов. Должен быть свободен, то есть, на нём не должен работать какой-то другой сетевой сервис. Значение представляет собой целое число — номер порта.
MAIN_IP
Задает ip-адрес, на котором программа принимает соединения от клиентов. Если параметр не указан, то программа принимает запросы на все IP-интерфейсы компьютера.
SLAVE_PORTS
Задает список портов, которые будут использоваться для автоматического запуска экземпляров веб-сервера Apache. Порты должны быть свободны. Значение представляет собой набор целых чисел — номеров портов, разделенных запятой. Количество портов определяет количество экземпляров веб-сервера. В Lite-версии используются первые 3 порта, остальные игнорируются. Количество портов (количество экземпляров Apache) не ограничивает количества пользователей, оно лишь влияет на возможность параллельно выполнять серверные вызовы 1с.
HTTPD
Исполняемый файл веб-сервера Apache. Значение представляет собой строку, задающую путь к файлу httpd.exe установленного на данном компьютере веб-сервера Apache, без кавычек.
WEB_MODULE
Модуль веб-сервера для 1с. Значение представляет собой строку, задающую путь к файлу wsap22.exe установленной на данном компьютере платформы 1с, без кавычек.
BASE
Параметр описания информационной базы. В отличие от других параметров, эти параметры могут повторяться в файле несколько раз — один параметр для каждой публикуемой информационной базы.
Значение представляет собой имя базы для публикации и путь к базе, разделенные точкой с запятой. Имя базы для публикации — строка из латинских букв и цифр без пробелов и без кавычек. Путь к базе — полный путь к каталогу базы данных, без кавычек.
WORK_DIR
Указывает рабочий каталог программы, куда программа сохраняет на время работы файлы настройки веб-серверов, а также выводит таблицу трансляций. Может быть задан как полным путём без кавычек, так и просто в виде имени подкаталога в каталоге программы. Если параметр не задан — программа создает временный каталог в системном каталоге временных файлов, удалив его по завершении работы. Если каталог указан и он при этом не существует — программа создаст его и удалит после успешного завершения работы.
LOG_FILE_NAME
Указывает лог-файл, куда программа пишет события. Параметр может быть задан как полным путем без кавычек, так и просто в виде имени файла в каталоге программы. Если параметр не задан - сообщения программы выводятся на консоль. Следует указывать, если программа запускается как служба.
LOG_LEVEL
Задает уровень детализации событий, 0 — минимальная детализация, 1 — полная. При полной детализации фиксируется начало и завершение каждого tcp-соединения. Полная детализация при использовании лог-файла может привести к повышенной нагрузке на дисковую подсистему и к расходованию свободного места на диске.
TIMEOUT
Задает время в секундах, прошедшее после последней активности клиентского IP-адреса, после которого программа может считать клиентский сеанс закрытым, и соответственно перестанет учитывать его в счетчике трансляций на конкретный порт. По умолчанию – 25 минут. Не рекомендуется задавать меньшее значение без особой необходимости и тестирования на конкретном решении.
TEMP_DIR
Указывает каталог для временных данных сеансов 1с. Если параметр не задан — 1с использует для временных данных каталоги информационных баз. Рекомендуется указывать для предотвращения "засорения" каталогов баз ненужными временными файлами.
VRD_POOL_OPTIONS
Предназначена для 1с версии 8.3 и выше. Задает строчку с дополнительными параметрами, которые указываются в файле публикации информационной базы (.vrd), в том виде, как они должны быть записаны в формате xml-файла в разделе pool. Пример:
VRD_POOL_OPTIONS=size="10000" maxAge="300" attempts="5" attemptTimeout="500" waitTimeout="500"
Порядок установки программы
Запустите инсталлятор, подтвердите согласие с лицензионным соглашеним, выберите каталог, куда будет установлена программа. При необходимости работы в демо-режиме переименуйте файл демо-ключа redir_1c.key.demo в redir_1c.key (если в каталоге программы есть рабочий ключ — предварительно сохраните или переименуйте его). Задайте параметры программы в ini-файле. Проверьте корректную работу программы её запуском и подключением к ней из веб-браузера через адресную строку вида «http://_сервер_:_порт_/_база_». При необходимости установите программу как службу Windows.
Ограничения бесплатно распространяемой версии программы
Если программа при запуске не находит корректный ключевой файл (redir_1c.key), она запускается в Lite-режиме. При этом количество запускаемых экземпляров веб-сервера ограничено 3, количество сеансов пользователей не ограничивается.
Если программа находит демонстрационный ключевой файл – она запускается в демо-режиме. При этом отсутствует дополнительное ограничение на количество запускаемых экземпляров веб-сервера, но время работы программы ограничено 4 часами. По истечении этого времени программа будет завершена, соответственно, сеансы пользователей будут прерваны. Каждый последующий запуск начинает отсчет заново.
© Бреднев Александр, 2014
Специальные предложения
См. также
Программы для исполнения 54-ФЗ Промо
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.
Новый раздел на Инфостарте - Electronic Software Distribution Промо
Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.
- Низкие цены, без скрытых платежей и наценок
- Оперативная отгрузка
- Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
- Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)
Еще один тест 1C: Postgres SQL 11 Pro Enterpise против MSSQL 14 под Windows 2012 Server R2 14
1 стартмани
05.09.2019 6014 9 ogidni 84
Подборка программ для взаимодействия с ЕГАИС Промо
ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.
Мониторинг потребления ресурсов базами кластеров сервера 30
2 стартмани
17.07.2019 3844 22 IVC_goal 34
С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо
Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.
Мониторинг производительности и искусственный интеллект 38
1 стартмани
01.07.2019 5098 3 ivanov660 28
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо
Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.
29700 руб.
Bash-скрипт для установки 1С:Предприятие 8.3 и СУБД PostgreSQL на сервер CentOS 7 41
1 стартмани
07.04.2019 8865 27 Sedaiko 25
Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо
На интенсиве будут рассмотрены все теоретические вопросы, связанные с устройством механизма бизнес-процессов – это необходимо для успешной сдачи экзамена 1С:Специалист по платформе. Также, в качестве практического примера, будет решена задача, аналогичная экзаменационной.
777 рублей
Утилита для регистрации ComConnector и консоли администрирования сервером по установленным версиям платформы 39
1 стартмани
20.03.2019 4398 22 vardeg 10
Методика оптимизации программного кода 1С: проведение документов 85
1 стартмани
19.03.2019 15509 14 dmitrydemenew 83
Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо
Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.
19700 руб.
LicDataDecoder - расшифровка файла программной лицензии 1С 102
1 стартмани
10.02.2019 14482 171 GeraltSnow 48
Подборка решений для взаимодействия со ФГИС «Меркурий» Промо
С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.
Решение проблемы быстродействия в ERP на рабочем примере 59
3 стартмани
18.12.2018 9084 46 ivanov660 8
Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо
Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!
29700 руб.
Централизованное управление списком доступных баз 1С у пользователей 8
5 стартмани
05.12.2018 6951 8 RomikR 9
1С:Предприятие через Интернет. 1С:Fresh Промо
Ведение бухгалтерского и налогового учет, сдача отчетности, управление бизнесом из любой точки мира. Привычные программы «1С» через Интернет без приобретения коробочных программ.
PostgreSQL для 1С 8.3: ускоряем резервное копирование и восстановление для отдельной базы очень большого размера 112
1 стартмани
03.12.2018 17930 30 vsasav 68
Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо
Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).
29700 руб.
Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. 36
1 стартмани
04.11.2018 21683 301 Eugen-S 34
Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо
Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.
9000 рублей
Go. Разбор лога технологического журнала. Достойная альтернатива perl'у 85
1 стартмани
24.10.2018 11956 4 lazarenko 39