0. Chai Nic 117 19.12.13 14:45 Сейчас в теме

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

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

Перейти к публикации

Комментарии
Сортировка: Древо
1. logdog 19.12.13 16:38 Сейчас в теме
1. Хотел бы протестировать данную программу
2. Закрывает ли Ваша программа запущенные сеансы, например, по тайм-ауту 20 минут?
3. База находится на сервере терминала под 2003, в локальной сети, но коннекты к базе будут идти из вне. Получится ли использовать Вашу программу,например, при использовании port forwarding?
2. Chai Nic 117 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 117 19.12.13 17:21 Сейчас в теме
(3) AllexSoft, насколько я понял, ИС не разрешает продажу бета-версий?

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

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

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

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

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

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

Какие галочки ставить в сей системе, есть в инете. Настраивается чуть ли ни по шаблону. Нужно только уметь читать.
13. Chai Nic 117 09.10.15 15:00 Сейчас в теме
(12) DrZombi, сложно понять ваш поток мыслей. При чем тут халявный постгрес? Сервер 1с то вам кто подарит?
Не нравится мой самокат - не катайся, никто не неволит. В некоторых случаях он может быть полезен.
14. AllexSoft 12.10.15 12:02 Сейчас в теме
(12) DrZombi, боюсь вы первый день с сервером 1С работаете, ознакомьтесь сначала о "халявности" предложенного вами решения, а потом пишите ерунду.
15. tfmebel 15.02.16 16:29 Сейчас в теме
Добрый день. Пробую установить вашу программу, но что то не получается.
Пишет вот такую ошибку: "Неправильный путь к файлу '1Cv8.cdn'. Схема не зарегистрирована"
Вопрос следующий:
Базу надо публиковать (из конфигуратора 1С) ??
И еще веб сервер апач у меня установлен как служба ее надо отключить?
16. Chai Nic 117 16.02.16 07:59 Сейчас в теме
(15) tfmebel, маловато информации. Что именно пишет эту ошибку? Какие версии ОС, 1с, апача?
Базу в 1с публиковать не обязательно, апач как службу можно не отключать, если не нужно использовать тот же tcp-порт.
17. AllexSoft 16.02.16 10:29 Сейчас в теме
Chai Nic, твоя утилитка умеет кстати процессы апача распределить по процам (назначить каждый процесс на свое ядро) ?
22. Chai Nic 117 16.02.16 13:47 Сейчас в теме
(17) AllexSoft, нет, с привязкой к процессору не заморачивался. Вообще ни разу не сталкивался с необходимостью этого. Намного правильнее рулить приоритетами.
23. AllexSoft 16.02.16 13:56 Сейчас в теме
(22) у меня 4 ядерный проц, процесс httpd кушает только 25% ресурсов процессора! хоть приоритет реального времени ему ставь - все равно, ровно одно ядро нагружено и все )
24. Chai Nic 117 16.02.16 13:58 Сейчас в теме
(23) AllexSoft, ну так в случае моей программы запускается несколько процессов апача, так что использоваться будут и другие ядра.
25. AllexSoft 16.02.16 14:44 Сейчас в теме
(24) проверено?) а то 4 процесса httpd на одном ядре крутиться будут еще ..
27. Chai Nic 117 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 117 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 117 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 117 16.02.16 20:01 Сейчас в теме
(31) tfmebel, При обычной публикации через апач работает на этом же компе?
33. tfmebel 17.02.16 10:13 Сейчас в теме
(32) да работает.
В общем я не знаю что произошло, возможно комп перезагрузил, возможно еще что то.
Сегодня вроде бы заработало. Даже запустилась 1С, но периодически выскакивает таже ошибка (см. выше картинку). Но по истечению отсчета времени или нажимая сразу кнопку повторить она уже не закрывается, а продолжает работать (типа переподключается что ли). Работает гораздо медленнее чем через обычный веб сервер.
Спасибо за ответы. В общем поиграюсь...
34. Chai Nic 117 17.02.16 13:57 Сейчас в теме
(33) tfmebel, в ini-файле ничего не меняли, кроме путей к 1с, апачу и к базе? Апач надеюсь 32-битный, как и 1с? Кинь мне ini-файл.
35. ewqewqewq 20.04.16 17:56 Сейчас в теме
Что то мало скачиваний боюсь на боевой ставить. Почему прога так непопулярна?
36. Fanvis 22.04.16 12:04 Сейчас в теме
Приветствую.
Сколько полная версия стоит? Как приобрести?
Сейчас пользуемся этой штукой: http://infostart.ru/public/239498/
Очень нравится. Автор - КРАСАВА!
37. Chai Nic 117 22.04.16 15:29 Сейчас в теме
Fanvis, платной полной версии не будет, поскольку не могу гарантировать работоспособность на всех релизах платформы (с некоторыми релизами были серьезные заморочки в виде зависаний апача и отвалов клиентов). Всё-таки, механизм не совсем штатный. И после появления в продаже официального мини-сервера на 5 клиентов от 1с уже не настолько жизненно необходимый.
38. Fanvis 22.04.16 16:20 Сейчас в теме
(37) у нас на вашей прошлой разработке крутится 20 клиентов. всего 15 апачей поднято. и это на 1 базу.
полет нормальный. в перспективе, конечно, переход на клиент сервер. но пока и так нормально работает. спасибо за решение!
40. mdie 81 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 117 18.07.16 15:59 Сейчас в теме
(41) AllexSoft, ну это статическое распределение получается, а программа распределяет динамически поровну
43. AllexSoft 27.07.16 10:39 Сейчас в теме
(42) это да, ну в моем случае статический вариант устроил вполне, просто по диапазонам IP адресов, пачками по 10 адресов на 1 процесс апача.. нагрузка процессора равномерная теперь, пиков практически нет (как было при варианте когда все работали на одном процессе), опять же загрузка может подскочить и до 100% процессорного времени, когда как при варианте с одним процессом занималось только одно ядро ( В общем я результатом доволен. Вот если бы вы выложили свою разработку на опенсорс, то я бы наверное выбрал ее) не планируется выкладывать?
44. quick 569 05.01.17 19:55 Сейчас в теме
а разве настройка в апаче запускать несколько процессов не то же самое делает?
45. Chai Nic 117 09.01.17 08:12 Сейчас в теме
(44) Конечно нет. Количество предварительно запущенных процессов в апаче вообще мало на что влияет в плане работы сервером 1с, это скорее для высоконагруженных серверов со статическим контентом имеет смысл. А в случае опубликованной 1с все соединения одного сервиса апача обращаются к одному экземпляру дллки, вставая в очередь. Суть программы в том, чтобы апачей (а значит и экземпляров wsap22) было несколько, с балансировкой нагрузки между ними.
46. drim87 09.01.17 09:17 Сейчас в теме
Почему не использовать IIS? Он может создавать для работы много процессов распределяя нагрузку.
48. Chai Nic 117 09.01.17 13:09 Сейчас в теме
(46) Это НЕ ТЕ процессы! Рабочий процесс (аналог рпхоста в клиент-серверной 1с) всё равно один на публикацию. И он однопоточный.
47. quick 569 09.01.17 12:29 Сейчас в теме
Получается если я использую linux, то могу поднять несколько хостов с одной базой и настроить nginx как балансер.
49. Chai Nic 117 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 117 18.01.18 08:03 Сейчас в теме
(52) Сеанс 1с создает множество последовательных tcp-сеансов (по сути каждый серверный вызов - новое соединение), и отличить на сервере один от другого невозможно, если не анализировать трафик. Так что не получится. Можете просто создать несколько апачей и вручную указать каждому сеансу свой экземпляр.
54. anton-ya 09.06.18 11:31 Сейчас в теме
Доброго времени! Какова стоимость?
55. B_2_B 7 11.09.18 20:18 Сейчас в теме
Добрый день!

Apache 2.4 поддерживается и Windows Server 2016?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии



Ведущий программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Руководитель проектов 1С
Москва
Полный день

Консультант-аналитик 1С: ЗУП
Санкт-Петербург
Полный день