Многопоточный МикроСервер для файловой базы управляемого приложения 1c

31.12.14

Разработка - Инструментарий разработчика

МикроСервер УПФ - это промежуточный сервер, который принимает запросы от тонких клиентов и веб-клиентов управляемого приложения 1с и распределяет их между автоматически созданными процессами веб-сервера. Решение позволяет решить проблему однопоточности файловой компоненты модуля веб-сервера 1с и повысить скорость многопользовательской работы.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Дистрибутив программы МикроСервер УПФ
.exe 229,07Kb
92
92 Скачать (1 SM) Купить за 1 850 руб.

ОПИСАНИЕ ПРОГРАММЫ «МикроСервер УПФ» (версия 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

тонкий клиент веб-сервер apache MicroServer многопоточный однопоточность

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    151664    833    397    

841

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

9360 руб.

17.05.2024    20378    59    42    

106

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

OneRPA - платформа роботизации рутинных операций, в основе которой лежит платформа 1С:Предприятие. Данная платформа позволяет использовать современные технологии роботизации, не теряя при этом наработки, которые были созданы в ходе автоматизации. При этом платформа роботизации сохраняет все преимущества платформы 1С: гибкость, кроссплатформенность, мобильный и Web доступ, простоту расширения. Ну и конечно же роботы создаются и сопровождаются простыми специалистами 1С, при этом не обязательно программистами. Self hosted версия

300000 руб.

03.03.2021    14181    12    27    

36

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    14010    36    7    

69

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

6900 руб.

20.08.2024    3871    22    6    

36

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    9097    33    10    

56

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

4800 3840 руб.

14.01.2013    185434    1127    0    

899

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    16746    6    29    

42
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. logdog 19.12.13 16:38 Сейчас в теме
1. Хотел бы протестировать данную программу
2. Закрывает ли Ваша программа запущенные сеансы, например, по тайм-ауту 20 минут?
3. База находится на сервере терминала под 2003, в локальной сети, но коннекты к базе будут идти из вне. Получится ли использовать Вашу программу,например, при использовании port forwarding?
2. Chai Nic 160 19.12.13 16:54 Сейчас в теме
(1) logdog,
1. Отправил в личку
2. Да, закрывает, по умолчанию таймаут прекращения трансляции 25 минут, 20 минут таймаут 1с и 5 минут на всякий случай.
3. Работать то она будет, а вот насколько эффективно - зависит от того, как работает ваш портфорвардинг - если он сохраняет адрес источника - то соединения будут эффективно распределяться, если же не сохраняет - все соединения пойдут на один порт.
3. AllexSoft 19.12.13 17:13 Сейчас в теме
(2) не понял насчет лицензии в вашей программе, она платная? если да то сколько, если бесплатная то почему лайт версия, где полная ?
ПС: если платная - совет выкладывай ценник на ИС, иначе тут очень быстро прикроют публикацию...
4. Chai Nic 160 19.12.13 17:21 Сейчас в теме
(3) AllexSoft, насколько я понял, ИС не разрешает продажу бета-версий?

Без ключа она работает как лайт(3 веб-сервера) или можно поставить демо-ключ (4 часа, далее останов). Так что она в принципе бесплатная, но с ограничениями.
5. AllexSoft 19.12.13 17:39 Сейчас в теме
(4) но полная версия есть вообще в наличии, или это пока остановилось на этапе демо.. просто на посмотреть и кто хочет пользоваться то пока нельзя, ждать релизную.. так чтоль ?
6. Chai Nic 160 19.12.13 17:57 Сейчас в теме
(5) AllexSoft, пользоваться можно - три сервера лучше, чем один.. А релиз скоро будет. Пока собираю пожелания.
7. AllexSoft 19.12.13 18:25 Сейчас в теме
(6) релизная версия будет платная ? сколько ориентировочно .. ?
8. Chai Nic 160 19.12.13 19:56 Сейчас в теме
(7) AllexSoft, релиз будет также с лайт- и демо-режимами, кое-что добавлю в настройки, цена на лицензию будет 1-2 т.р. Цели особо заработать нет, есть цель слегка себя мотивировать на дальнейшее развитие программы.
9. iov 407 20.12.13 03:07 Сейчас в теме
ладно убедил плюс авансом.
10. maxx 995 20.12.13 15:16 Сейчас в теме
Супер!!!

А на чем служба написана?
11. Chai Nic 160 20.12.13 15:36 Сейчас в теме
Внесены несколько доработок, связанных с работой 1с версии 8.3. Рекомендуемая версия 1с для работы совместно с данной программой - не ниже 8.3.5.
12. DrZombi 301 09.10.15 11:28 Сейчас в теме
Все отстой... Не дорого, вот вот и бесплатно... Туфта...

На заре грядет атаки Шифровальщиков. Такой подход, Вот оно, Файловая и даром, конторке обойдется боком и очень дорого. Мало того, что придется платить Мошенникам. Так еще и сдача отчетности не терпит задержек. И не кого не волнует, что у вас и как случилось.

За Самокат, спасибо. "Оно вертится". Оставим её Автору :)

...
Так же Файловые БД, от фирмы 1С, очень не устойчивы и подвержены краху :)

...
Если хочется халявы, так есть http://v8.1c.ru/overview/Term_000000133.htm
PostgreSQL https://ru.wikipedia.org/wiki/PostgreSQL

Какие галочки ставить в сей системе, есть в инете. Настраивается чуть ли ни по шаблону. Нужно только уметь читать.
13. Chai Nic 160 09.10.15 15:00 Сейчас в теме
(12) DrZombi, сложно понять ваш поток мыслей. При чем тут халявный постгрес? Сервер 1с то вам кто подарит?
Не нравится мой самокат - не катайся, никто не неволит. В некоторых случаях он может быть полезен.
bladeson; autosvg; +2 Ответить
14. AllexSoft 12.10.15 12:02 Сейчас в теме
(12) DrZombi, боюсь вы первый день с сервером 1С работаете, ознакомьтесь сначала о "халявности" предложенного вами решения, а потом пишите ерунду.
bladeson; RangerRU; autosvg; +3 Ответить
15. tfmebel 15.02.16 16:29 Сейчас в теме
Добрый день. Пробую установить вашу программу, но что то не получается.
Пишет вот такую ошибку: "Неправильный путь к файлу '1Cv8.cdn'. Схема не зарегистрирована"
Вопрос следующий:
Базу надо публиковать (из конфигуратора 1С) ??
И еще веб сервер апач у меня установлен как служба ее надо отключить?
16. Chai Nic 160 16.02.16 07:59 Сейчас в теме
(15) tfmebel, маловато информации. Что именно пишет эту ошибку? Какие версии ОС, 1с, апача?
Базу в 1с публиковать не обязательно, апач как службу можно не отключать, если не нужно использовать тот же tcp-порт.
17. AllexSoft 16.02.16 10:29 Сейчас в теме
Chai Nic, твоя утилитка умеет кстати процессы апача распределить по процам (назначить каждый процесс на свое ядро) ?
22. Chai Nic 160 16.02.16 13:47 Сейчас в теме
(17) AllexSoft, нет, с привязкой к процессору не заморачивался. Вообще ни разу не сталкивался с необходимостью этого. Намного правильнее рулить приоритетами.
23. AllexSoft 16.02.16 13:56 Сейчас в теме
(22) у меня 4 ядерный проц, процесс httpd кушает только 25% ресурсов процессора! хоть приоритет реального времени ему ставь - все равно, ровно одно ядро нагружено и все )
24. Chai Nic 160 16.02.16 13:58 Сейчас в теме
(23) AllexSoft, ну так в случае моей программы запускается несколько процессов апача, так что использоваться будут и другие ядра.
25. AllexSoft 16.02.16 14:44 Сейчас в теме
(24) проверено?) а то 4 процесса httpd на одном ядре крутиться будут еще ..
27. Chai Nic 160 16.02.16 15:14 Сейчас в теме
(25) AllexSoft, всё будет нормально. В первом приближении так - ядро ОС выбирает процессор на каждом кванте выделения процессорного времени лишь на время этого кванта. А привязка процесса к ядру означает только то, что другие процессоры рассматриваться при выборе не будут. Соответственно, зависимости от того, как именно называется процесс, нет.
18. tfmebel 16.02.16 11:01 Сейчас в теме
Комп на котором базы и апач: Win7 64
1С:Предприятие 8.3 (8.3.7.1790)
Управление торговлей, редакция 11.1 (11.1.10.199)
Апач 2,2,22 запущен как служба.

Тестовая база находится в папке С:\BASE\TESTTTTT

Микросервер установил. Файл "ини" отредактировал (поправил нужные пути). Остальное не трогал.

В 1С указываю следующий путь до базы http://192.168.7.5:9000/TESTTTTT
и выскакивает вышеописанная ошибка. Что делаю не так.?
19. tfmebel 16.02.16 11:08 Сейчас в теме
Причем не работает не через браузер не через 1С.
На локальном компе (где запущена программка) через браузер - работает.
20. tfmebel 16.02.16 11:12 Сейчас в теме
С первой ошибкой разобрался - мой косяк. При указании пути базы надо было выбрать что она расположена на веб сервере, а не в локальной сети. Но теперь вылезла другая ошибка см. картинку. 1C запускаю файлом 1cv8s.exe, далее добавляю базу на веб сервере и путь к ней.
Открывается выбор пользователя, а дальше уже появляется эта ошибка.

https://yadi.sk/i/-OyRcGQ0ouc8k
Причем вроде как подключение то проходит. Но что то не идет дальше.
В микросервере пишется:
Init translation from 192.168.7.10 to port 9001
21. Chai Nic 160 16.02.16 13:45 Сейчас в теме
(20) tfmebel, брандмауэры с антивирусами не могут мешать?
26. tfmebel 16.02.16 15:06 Сейчас в теме
(21) да вроде не должны. Проверял. Сейчас еще раз посмотрю.
28. tfmebel 16.02.16 15:19 Сейчас в теме
Вот что пишется в терминале
https://yadi.sk/i/VcMgCDSWovTvu

первое появление строки которая содержит was closed появилось когда появилось окно выбора пользователя 1с
второе was closed появилось когда выскакивает ошибка.
29. Chai Nic 160 16.02.16 15:51 Сейчас в теме
(28) tfmebel, Это нормально, что соединения открываются и закрываются. Так работает клиент 1с. Он не держит постоянное соединение на уровне tcp, а открывает и закрывает их при необходимости.
Напрямую на 127.0.0.1:9001 подключается, в обход редиректора, если попробовать?
31. tfmebel 16.02.16 19:05 Сейчас в теме
(29) на компе на котором запущен микросервер - нет не работает.
32. Chai Nic 160 16.02.16 20:01 Сейчас в теме
(31) tfmebel, При обычной публикации через апач работает на этом же компе?
33. tfmebel 17.02.16 10:13 Сейчас в теме
(32) да работает.
В общем я не знаю что произошло, возможно комп перезагрузил, возможно еще что то.
Сегодня вроде бы заработало. Даже запустилась 1С, но периодически выскакивает таже ошибка (см. выше картинку). Но по истечению отсчета времени или нажимая сразу кнопку повторить она уже не закрывается, а продолжает работать (типа переподключается что ли). Работает гораздо медленнее чем через обычный веб сервер.
Спасибо за ответы. В общем поиграюсь...
34. Chai Nic 160 17.02.16 13:57 Сейчас в теме
(33) tfmebel, в ini-файле ничего не меняли, кроме путей к 1с, апачу и к базе? Апач надеюсь 32-битный, как и 1с? Кинь мне ini-файл.
30. пользователь 16.02.16 16:25
Сообщение было скрыто модератором.
...
35. ewqewqewq 20.04.16 17:56 Сейчас в теме
Что то мало скачиваний боюсь на боевой ставить. Почему прога так непопулярна?
36. Fanvis 22.04.16 12:04 Сейчас в теме
Приветствую.
Сколько полная версия стоит? Как приобрести?
Сейчас пользуемся этой штукой: http://infostart.ru/public/239498/
Очень нравится. Автор - КРАСАВА!
37. Chai Nic 160 22.04.16 15:29 Сейчас в теме
Fanvis, платной полной версии не будет, поскольку не могу гарантировать работоспособность на всех релизах платформы (с некоторыми релизами были серьезные заморочки в виде зависаний апача и отвалов клиентов). Всё-таки, механизм не совсем штатный. И после появления в продаже официального мини-сервера на 5 клиентов от 1с уже не настолько жизненно необходимый.
38. Fanvis 22.04.16 16:20 Сейчас в теме
(37) у нас на вашей прошлой разработке крутится 20 клиентов. всего 15 апачей поднято. и это на 1 базу.
полет нормальный. в перспективе, конечно, переход на клиент сервер. но пока и так нормально работает. спасибо за решение!
40. mdie 86 14.07.16 18:55 Сейчас в теме
(37) тогда "отдать на растерзание" в github'е :-)
39. mskamrakova 10.06.16 12:38 Сейчас в теме
Очень интересная программка, буду пробовать.
Спасибо автору!
41. AllexSoft 18.07.16 12:02 Сейчас в теме
кстати, решил эту проблему без программ, простым NATом на на роутере. Входящий порт один, далее делаем списки с клиентами по процессам, и правила на src-nat входящий пор скажем 8888, netmap - сервер:порт1, когда клиент из списка КлиентыПорта1. Ну и таких правил сколько запущено процессов апачей. Все работает стабильно. Единственное получается жесткая привязка либо диапазона айпишников по портам, либо конкретные списки пользователей кого на какой процесс перенаправлять
42. Chai Nic 160 18.07.16 15:59 Сейчас в теме
(41) AllexSoft, ну это статическое распределение получается, а программа распределяет динамически поровну
43. AllexSoft 27.07.16 10:39 Сейчас в теме
(42) это да, ну в моем случае статический вариант устроил вполне, просто по диапазонам IP адресов, пачками по 10 адресов на 1 процесс апача.. нагрузка процессора равномерная теперь, пиков практически нет (как было при варианте когда все работали на одном процессе), опять же загрузка может подскочить и до 100% процессорного времени, когда как при варианте с одним процессом занималось только одно ядро ( В общем я результатом доволен. Вот если бы вы выложили свою разработку на опенсорс, то я бы наверное выбрал ее) не планируется выкладывать?
44. quick 584 05.01.17 19:55 Сейчас в теме
а разве настройка в апаче запускать несколько процессов не то же самое делает?
45. Chai Nic 160 09.01.17 08:12 Сейчас в теме
(44) Конечно нет. Количество предварительно запущенных процессов в апаче вообще мало на что влияет в плане работы сервером 1с, это скорее для высоконагруженных серверов со статическим контентом имеет смысл. А в случае опубликованной 1с все соединения одного сервиса апача обращаются к одному экземпляру дллки, вставая в очередь. Суть программы в том, чтобы апачей (а значит и экземпляров wsap22) было несколько, с балансировкой нагрузки между ними.
46. drim87 09.01.17 09:17 Сейчас в теме
Почему не использовать IIS? Он может создавать для работы много процессов распределяя нагрузку.
48. Chai Nic 160 09.01.17 13:09 Сейчас в теме
(46) Это НЕ ТЕ процессы! Рабочий процесс (аналог рпхоста в клиент-серверной 1с) всё равно один на публикацию. И он однопоточный.
47. quick 584 09.01.17 12:29 Сейчас в теме
Получается если я использую linux, то могу поднять несколько хостов с одной базой и настроить nginx как балансер.
49. Chai Nic 160 09.01.17 13:14 Сейчас в теме
(47) Сложность в том, что клиент должен всегда обращаться к тому же экземпляру апача, к которому было первое обращение в рамках сеанса 1с. То есть, необходимо запоминать соединения и выбирать ту самую трансляцию. Моя програмка это и делает. А простой балансировщик работать не будет.
50. sergey1280 28.07.17 16:57 Сейчас в теме
Пытаюсь установить на 2008 сервере x64 пишет Error launching installer... Как решить этот вопрос?
51. sergey1280 28.07.17 16:59 Сейчас в теме
Можно ли доработать под 2008 windows?
52. Alsegan 17.01.18 16:54 Сейчас в теме
А можно сделать так, чтобы создание нового процесса было привязано именно к сеансу, а не к клиентскому компьютеру?
А то у меня есть клиент, у него 3 компа. Главбух юзает сразу 8 сеансов в файвловой, это не проблема. А вот остальные 2 сидят на веб сервере и тоже в сумме на двоих у них открыто около 8 баз. 16Гб в принцепи бы хватило. Но сам апач всё сбрасывает.
53. Chai Nic 160 18.01.18 08:03 Сейчас в теме
(52) Сеанс 1с создает множество последовательных tcp-сеансов (по сути каждый серверный вызов - новое соединение), и отличить на сервере один от другого невозможно, если не анализировать трафик. Так что не получится. Можете просто создать несколько апачей и вручную указать каждому сеансу свой экземпляр.
54. anton-ya 09.06.18 11:31 Сейчас в теме
Доброго времени! Какова стоимость?
55. B_2_B 14 11.09.18 20:18 Сейчас в теме
Добрый день!

Apache 2.4 поддерживается и Windows Server 2016?
56. user1333819 25.12.19 14:18 Сейчас в теме
Nginx

upstream 1cbackend {
ip_hash;

server http://127.0.0.1:8081/buh_base;
server http://127.0.0.1:8082/buh_base;
server http://127.0.0.1:8083/buh_base;
}

Если не нравится опираться на IP клиента, то можно выдумать какой-нибудь свой алгоритм
http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#hash
generick; +1 Ответить
57. пользователь 13.01.20 12:05
Сообщение было скрыто модератором.
...
58. пользователь 25.01.20 05:42
Сообщение было скрыто модератором.
...
59. spodAlex095 8 24.06.21 14:50 Сейчас в теме
Все настроил сервер запустился, но когда подключаюсь через внешний ip : http://[ip]:port/NameBase
,где ip - внешний ip, port - порт который указал в .ini, NameBase - имя опубликованной базы, подключение не происходит, в чем может быть проблема?
60. пользователь 24.06.21 15:03
Сообщение было скрыто модератором.
...
61. пользователь 24.06.21 18:13
Сообщение было скрыто модератором.
...
62. mike-d 07.11.23 10:25 Сейчас в теме
МикроСервер ещё жив? Интересует в приложении к Windows Server 2019.
Оставьте свое сообщение